/*
Theme Name: Houzez
Theme URI: http://houzez.co/
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. Whether you are a real estate agent looking to build a website for your company or a web developer seeking a perfect WordPress theme for your next project, you are certain to appreciate the numerous features and benefits that our theme provides.
Version: 4.1.4
Tags: 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
Requires at least: WordPress 6.0
*/
.auto-complete-content-wrap .item-sub-price,
.houzez-dashboard .grecaptcha-badge,
.listing-v3 .item-wrap-v3 .h-type,
body.houzez-halfmap-page .grecaptcha-badge {
    display: none !important
}

.listing-slider-variable-width .slick-slide {
    padding-left: 2px;
    padding-right: 2px
}

.property-banner-trigger {
    z-index: 1
}

/* Prevent image container from collapsing before lazy-loaded images load */
.item-wrap .item-header,
.item-wrap .houzez-all-slider-wrap,
.item-wrap .houzez-all-slider-wrap .slick-list,
.item-wrap .houzez-all-slider-wrap .slick-track,
.item-wrap .item-header img {
    min-height: 220px !important;
    object-fit: cover;
}

.houzez-nav-menu-main-desktop-wrap .dropdown-menu>li:not(:last-child) {
    border-top-width: 0;
    border-left-width: 0;
    border-right-width: 0
}

.houzez-all-slider-wrap {
    opacity: 1;
    visibility: visible;
    transition: opacity 1s;
    -webkit-transition: opacity 1s
}

.houzez-all-slider-wrap.slick-initialized {
    visibility: visible;
    opacity: 1
}

.property-carousel-module .slick-slide {
    padding-left: 10px;
    padding-right: 10px
}

.property-carousel-module .slick-list {
    margin-left: -10px;
    margin-right: -10px
}

.search-hidden,
.sticky-nav-area,
.sticky-search-area {
    position: relative;
    width: 100%;
    z-index: 1000;
    top: 0;
    opacity: 0;
    visibility: hidden;
    transform: translate(0, -200px)
}

.houzez-in-view {
    opacity: 1;
    position: fixed !important;
    visibility: visible;
    transition: .4s;
    transform: translate(0, 0) scale(1);
    animation: .4s fadein
}

.comment-reply-title {
    font-size: 14px
}

@media (max-width:992px) {
    .grecaptcha-badge {
        display: none !important
    }
}

.houzez-hide-menu-mobile,
.houzez-hide-menu-tablet,
.houzez-menu-toggle.houzez-nav-menu-active .icon-navigation-menu,
.houzez-nav-menu-main-mobile-wrap.nav-mobile,
[data-elementor-device-mode=mobile] .houzez-hide-menu-mobile,
[data-elementor-device-mode=mobile] .houzez-hide-menu-tablet,
[data-elementor-device-mode=tablet] .houzez-hide-menu-tablet {
    display: none
}

[data-elementor-device-mode=desktop] .houzez-show-menu-desktop,
[data-elementor-device-mode=desktop] .hz-show-menu-desktop,
[data-elementor-device-mode=mobile] .houzez-show-menu-desktop,
[data-elementor-device-mode=mobile] .houzez-show-menu-mobile,
[data-elementor-device-mode=mobile] .houzez-show-menu-tablet,
[data-elementor-device-mode=tablet] .houzez-show-menu-desktop,
[data-elementor-device-mode=tablet] .houzez-show-menu-tablet,
[data-elementor-device-mode=tablet] .hz-show-menu-tablet {
    display: block
}

.slick-dots li {
    margin: 0
}

.slick-dots li button:before {
    font-size: 20px
}

.fancybox__container,
.offcanvas.show,
.offcanvas.showing {
    z-index: 99999
}

.block-map-wrap {
    min-height: 350px
}

.property-schedule-tour-day-form {
    max-height: 100px
}

div#houzez-agent-sidebar-map {
    width: 100%;
    height: 200px
}

.houzez-map-message {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background-color: rgba(0, 0, 0, .8);
    color: #fff;
    padding: 6px 15px;
    border-radius: 4px;
    font-size: 13px;
    z-index: 1000;
    opacity: 0;
    transition: opacity .3s;
    pointer-events: none;
    line-height: 20px
}

.map-marker-label,
.property-info-window {
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, .2) 0 3px 15px 0
}

.houzez-map-message.show {
    opacity: 1
}

.property-info-window {
    padding: 5px;
    border-radius: 6px 0 6px 6px;
    width: 287px
}

.property-info-window .info-window-image img {
    border-radius: 4px;
    width: 100%;
    max-width: 286px;
    height: 176px;
    object-fit: cover
}

.info-window-price {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px
}

.info-window-info-details {
    font-size: 14px;
    margin-bottom: 5px;
    font-weight: 400
}

.info-window-property-type {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 400;
    margin-bottom: 10px
}

.info-window-address-info {
    font-size: 14px;
    font-weight: 400;
    color: #888
}

.info-window-image {
    position: relative
}

.info-window-label {
    position: absolute;
    font-weight: 400;
    z-index: 1;
    top: 10px;
    left: 10px;
    border-radius: 4px;
    font-size: 10px;
    line-height: 1;
    text-transform: uppercase;
    padding: 4px 4px 3px
}

.map-marker-label {
    color: #000;
    font-size: 15px;
    font-weight: 700;
    padding: 8px 12px;
    border-radius: 20px;
    border: 1px solid #fff
}

.map-marker-label:hover {
    border: 1px solid #aaa
}

.osm-marker {
    display: inline-block;
    padding: 5px 11px
}

@media (max-width:991.98px) {
    .single-property .back-to-top-wrap {
        right: 10px;
        bottom: 27px
    }
}

.is-invalid {
    border-color: #ea3d3d !important
}

button.gm-svpc>div {
    position: relative !important;
    top: 0 !important;
    left: 0 !important
}

@keyframes spin {
    from {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.icon-spin {
    display: inline-block;
    animation: 2s linear infinite spin
}

.houzez-ele-search-form-wrapper .location-trigger {
    right: 1px
}

.property-detail-v3 #property-gallery-js .lslide a img,
.property-detail-v4 #property-gallery-js .lslide a img {
    width: 100%
}

.property-detail-v4 .top-gallery-section .lSPager.lSGallery {
    max-height: 117px
}

.property-detail-v3 .top-gallery-section .lSPager.lSGallery {
    max-height: 81px
}

#houzez-single-listing-map-elementor,
#houzez-single-listing-map-address {
    height: 100%;
    width: 100%;
}

.header-transparent-wrap {
    background: #fff !important;
}

.header-transparent-wrap a,
.header-transparent-wrap span,
.header-transparent-wrap i {
    color: #000 !important;
}

/* ==========================================================================
   TARGET ONLY THE MAIN TOP NAVIGATION WRAPPER
   ========================================================================== */

/* Force the main header wrapper to be solid white */
.header-main-wrap.header-transparent-wrap {
    background-color: #FFFFFF !important;
    background-image: none !important;
    position: relative !important;
    /* Removes the fixed floating transparent overlay look */
    opacity: 1 !important;
}

/* Strip out any transparent background rules specifically targeting header-v4 */
.header-transparent-wrap .header-v4,
.header-transparent-wrap #header-section {
    background-color: #FFFFFF !important;
    border-bottom: 1px solid #E6E6E6 !important;
    /* Replaces the transparent white border with a clean light grey line */
}

/* ==========================================================================
   TURN TEXT & LINKS BLACK (MAIN MENU ONLY)
   ========================================================================== */

/* Target links inside the navigation menu tree shown in your inspect panel */
.header-main-wrap .main-nav .navbar-nav>li>a,
.header-main-wrap .main-nav a,
.header-main-wrap .navi-login-register a,
.header-main-wrap #navi-user a {
    color: #000000 !important;
}

/* Change icons inside the navbar to black */
.header-main-wrap .main-nav i,
.header-main-wrap .navi-login-register i {
    color: #000000 !important;
}

/* ==========================================================================
   KEEP THE "CREATE A LISTING" BUTTON BLUE
   ========================================================================== */
.header-main-wrap .btn-create-listing,
.header-main-wrap a.btn-create-listing {
    color: #FFFFFF !important;
    background-color: #0073e6 !important;
    border-color: #0073e6 !important;
}

.header-main-wrap .btn-create-listing:hover,
.header-main-wrap a.btn-create-listing:hover {
    background-color: #005bb5 !important;
    border-color: #005bb5 !important;
    color: #FFFFFF !important;
}

/* =========================
   PROPERTY IMAGE HEIGHT FIX
   ========================= */
/*
.property-banner-v2,
.property-banner-v2 .tab-content,
.property-banner-v2 .tab-pane,
.property-banner-v2 #pills-gallery {
    height: 680px !important;
}*/

/* Make sure background image fills properly */
.property-banner-v2 #pills-gallery {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* push content properly inside banner */
.property-banner-v2 .container {
    height: 100% !important;
}

/* Remove dark gray gradient shadow overlay from single property details page banner */
.property-detail-v2 #pills-gallery:before,
.property-banner:before,
.property-top-wrap:before {
    display: none !important;
    background: none !important;
    opacity: 0 !important;
}

/* Permanently remove dark gradient hover overlay from property card images */
.hover-effect:before,
.hover-effect-flat:before,
.item-header .hover-effect:before,
.item-header .hover-effect-flat:before {
    opacity: 0 !important;
    display: none !important;
    background: none !important;
}


/* Hide duplicate sub-price area line in quick-view preview modal */
.lightbox-content-wrap .item-price-wrap .item-sub-price {
    display: none !important;
}

/* Quick Preview Modal - Overview Area & Metric Alignment */
.lightbox-content-wrap .property-overview-data .row {
    display: flex !important;
    flex-wrap: wrap !important;
    column-gap: 24px !important;
    row-gap: 16px !important;
}

.lightbox-content-wrap .property-overview-data .col {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.lightbox-content-wrap .property-overview-data .col-land-area,
.lightbox-content-wrap .property-overview-data .col:has(.h-land-area) {
    flex: 0 0 100% !important;
    width: 100% !important;
}

.lightbox-content-wrap .property-overview-data .property-overview-item,
.lightbox-content-wrap .property-overview-data .property-overview-item strong,
.property-overview-item {
    white-space: nowrap !important;
}

.lightbox-content-wrap .property-overview-data .h-area,
.lightbox-content-wrap .property-overview-data .h-land-area,
.lightbox-content-wrap .property-overview-data .h-beds,
.lightbox-content-wrap .property-overview-data .h-baths,
.lightbox-content-wrap .property-overview-data .h-garage,
.lightbox-content-wrap .property-overview-data .h-year-built,
.lightbox-content-wrap .property-overview-data .h-property-id {
    display: block !important;
    font-size: 13px !important;
    color: #777777 !important;
    margin-bottom: 4px !important;
    margin-top: 0 !important;
}



/*Hide bottom contact form on mobile*/

@media screen and (max-width: 768px) {
    .mobile-property-contact {
        display: none !important;
    }
}

@media (max-width: 991px) {

    .with-half-map .property-layout-buttons,
    .houzez-half-map-wrap .property-layout-buttons {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 8px !important;
        padding: 0 !important;
        margin: 10px 0 !important;
    }

    .with-half-map .layout-btn,
    .houzez-half-map-wrap .layout-btn {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
    }
}

/* ===========================================
   Property Layout Buttons
=========================================== */
/* Space between buttons */
.property-layout-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Button spacing */
.property-layout-buttons .layout-btn {
    margin: 0 4px;
    color: #6c757d;
    transition: all .3s ease;
}

/* Icon size */
.property-layout-buttons .layout-btn i {
    font-size: 18px;
}

/* Hover */
.property-layout-buttons .layout-btn:hover {
    color: #00aeef;
}

/* Active button */
.property-layout-buttons .layout-btn.active,
.property-layout-buttons .layout-btn.active i {
    color: #00aeef !important;
}

.views-title {
    font-size: 14px;
    font-weight: 400;
    color: #222;
    line-height: 38px;
    margin-right: 8px;
}

/* Mobile & Tablet */
@media (max-width:991px) {

    /* Hide everything */
    .property-layout-buttons * {
        display: none !important;
    }

    /* Show the wrapper */
    .property-layout-buttons {
        display: flex !important;
        justify-content: flex-end;
        align-items: center;
    }

    /* Show Half Map button */
    .property-layout-buttons .half-map-btn {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        align-items: center;
        justify-content: center;
    }

    /* Show icon */
    .property-layout-buttons .half-map-btn i {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        font-size: 18px;
    }
}

/* Chrome, Safari, Firefox, Opera ke liye */
input::placeholder,
textarea::placeholder {
    color: #a5a5a5 !important;
    /* Select City jaisa light grey color */
    opacity: 1 !important;
    /* Firefox browser me color fix karne ke liye */
}

/* Internet Explorer aur Edge ke liye (safety backup) */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #a5a5a5 !important;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
    color: #a5a5a5 !important;
}

/* --- 1. Pure Card ka Premium Border, Shadow aur Hover Effect --- */
.item-wrap {
    border: 1px solid #eef2f5 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden;
    transition: all 0.3s ease-in-out !important;
    background: #ffffff !important;
}

.item-wrap:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-4px) !important;
}

/* --- 2. Main Card Body: Left Column Wider (For single line location) --- */
.item-body {
    display: grid !important;
    grid-template-columns: 1.4fr 0.6fr !important;
    /* Left: 70%, Right: 30% for perfect horizontal spacing */
    grid-template-rows: auto auto auto !important;
    padding: 20px 20px 4px!important;
    gap: 8px 10px !important;
    align-items: center !important;
}

/* HTML boundaries ko bypass karne ke liye */
.item-amenities {
    display: contents !important;
}

/* --- 3. ROW 1: Title (Left) aur Price (Right) --- */
.item-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    align-self: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
    line-height: 1.3 !important;
}

.item-title a {
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* changes css */
.item-wrap .item-price-wrap,
.item-wrap .label-wrap {
    grid-column: 2 !important;
    grid-row: 1 !important;
    text-align: right !important;
    justify-self: end !important;
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: center !important;
    white-space: nowrap !important;
}

/* changeses css */
/* Price Font-Size and Alignment */
.item-wrap .label-wrap .label-price,
.item-wrap .price-wrap .item-price,
.item-wrap .item-price {
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    display: inline-block !important;
}

/* changes */
/* Price Postfix / Sub-price (COMPLETELY REMOVED as requested) */
.item-wrap .price-postfix,
.item-wrap .item-sub-price {
    display: none !important;
    /* Completely hides the sub-price/postfix */
}

/* --- 4. ROW 2: Developer Name (Left) aur Area Size (Right) --- */
/* Developer Name */
.item-amenities li.h-developer-name {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-content: flex-start !important;
    font-size: 11px !important;
    color: #6b7280 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: inline-flex !important;
    align-items: center !important;
}

.item-amenities li.h-developer-name a {
    color: #6b7280 !important;
    text-decoration: none !important;
}

.item-amenities li.h-developer-name a:hover {
    text-decoration: underline !important;
}

/* Developer name text underline (plain span, no class) */
.item-amenities li.h-developer-name span:last-child {
    text-decoration: underline !important;
}

/* Developer icon alignment */
.item-amenities li.h-developer-name img {
    width: 14px !important;
    height: 14px !important;
    min-width: 16px !important;
    object-fit: contain !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
    display: inline-block !important;
}

.item-amenities li.h-developer-name {
    gap: 6px !important;
}

/* Area Size */
.item-amenities li.h-area {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-content: flex-end !important;
    border: none !important;
    color: #6b7280 !important;
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    font-weight: normal !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Hide Property Type (like "STUDIO", "Apartment") from showing up inside this grid row */
.item-amenities li.h-type {
    display: none !important;
}

/* --- 5. ROW 3: Location (Left - NOW IN A SINGLE LINE) aur Possession Date (Right) --- */
/* Location/Address (Single Line Alignment) */
.item-address {
    grid-column: 1 !important;
    grid-row: 3 !important;
    font-size: 11px !important;
    /*color: #6b7280 !important;*/
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    align-self: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.item-address span {
    text-decoration: underline !important;
}

/* Possession Date (Explicit class selector) - Green Badge */
.item-amenities li.h-possession-date {
    grid-column: 2 !important;
    grid-row: 3 !important;
    justify-content: flex-end !important;
    align-self: center !important;
    border: 1px solid #2ecc71 !important;
    color: #27ae60 !important;
    background-color: #ebf9eb !important;
    padding: 4px 6px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    width: fit-content !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Common styling for metadata icons */
.item-amenities li {
    font-size: 11px !important;
    color: #4a5568 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}


/* 2. Area Icon (Restore original theme icon, style color) */
.item-amenities li.h-area i {
    color: #4a5568 !important;
    /* Slate Grey matching Developer icon */
    font-size: 12px !important;
    margin-right: 4px !important;
    display: inline-block !important;
}

/* 3. Location/Map Icon (Restore original theme icon, style color) */
.item-address i {
    /*color: #4a5568 !important; */
    font-size: 12px !important;
    margin-right: 4px !important;
    display: inline-block !important;
}


/* --- 6. Bed aur Bath Icons ko hide karna --- */
.item-amenities li i.fa-bed,
.item-amenities li i.fa-shower {
    display: none !important;
}

/* --- 7. "6 years ago" Footer ko hide karna --- */
.item-footer,
.item-wrap-v1 .item-footer,
.item-wrap-v2 .item-footer {
    display: none !important;
}

/* --- 8. Bottom Action Buttons (Tour & Live Chat Dynamic Design) --- */
.item-foot {
    padding: 15px 20px 20px 20px !important;
    border-top: 1px solid #f0f4f8 !important;
    display: flex !important;
    gap: 10px !important;
    background-color: #ffffff !important;
}

/* Buttons basic sizing */
.item-foot a,
.btn-phone,
.btn-email,
.btn-whatsapp {
    flex: 1 !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 16px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: capitalize !important;
    border: none !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

/* Tour Button - Premium Blue Style */
.btn-phone,
.btn-email {
    background-color: #0b4e80 !important;
    color: #ffffff !important;
}

.btn-phone:hover,
.btn-email:hover {
    background-color: #083c63 !important;
}

/* Live Chat Button - WhatsApp Green Style */
.btn-whatsapp {
    background-color: #0fa14c !important;
    color: #ffffff !important;
}

.btn-whatsapp:hover {
    background-color: #0c823d !important;
}




/* Ensure menu text is visible on transparent headers forced to white */
body .header-transparent-wrap .navi-main li a,
body .header-transparent-wrap .main-menu li a,
.header-transparent-wrap a,
.navi-main a,
ul.navbar-nav>li.menu-item>a,
.houzez-header-transparent .navbar-nav>li>a {
    color: #000000 !important;
}


/* Absolute override for menu link colors */
body header.header-transparent-wrap .navbar-nav>li>a,
body header.header-main-wrap .navbar-nav>li>a,
body header .main-nav .navbar-nav>li>a.nav-link,
body #header-section .navbar-nav>li>a,
header.header-transparent-wrap a.nav-link {
    color: #000000 !important;
}


/* Hide empty container on home page above footer */
.elementor-17972 .elementor-element-42595f9 {
    display: none !important;
}


.page-id-3 .page-title {
    display: none !important;
}


.page-id-3 .houzez-breadcrumb,
.page-id-3 .breadcrumb {
    margin-top: -30px !important;
}

.page-id-3 .wp-block-heading {
    font-size: 28px !important;
    font-weight: 700 !important;
}


.title-price-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.title-price-row .item-title {
    margin-bottom: 0 !important;
    flex: 1;
}

.item-price-widget,
.item-price-widget * {
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
}

.widget-properties .hz-developer-name {
    margin-right: 25px !important;
    display: inline-flex !important;
}

.widget-properties .h-area {
    margin-left: 10px !important;
}

.widget-properties .item-amenities li {
    font-size: 9px !important;
}


.widget-properties .hz-possession-date {
    width: 100% !important;
    display: block !important;
    margin-top: 5px !important;
}



@media (max-width: 767px) {

    /* Copyright block */
    .footer-copyright {
        width: 100% !important;
        text-align: left !important;
        margin-bottom: 10px !important;
        padding-left: 35px !important;
    }

    /* Privacy Policy next line */
    .footer-copyright a {
        display: block !important;
        margin-top: 8px !important;
    }

    .footer-social ul {
        justify-content: flex-start !important;
        padding-left: 35px !important;
        margin-left: 0 !important;
    }

    .footer-social li.mx-2 {
        margin-left: 0 !important;
        margin-right: 8px !important;
    }
}

/* Tablet (768px - 1024px) */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .footer-social {
        padding-right: 35px !important;
    }
}

@media (max-width: 767px) {

    .breadcrumb-wrap,
    .breadcrumbs,
    .breadcrumb {
        margin: 0 !important;
        padding: 0 !important;
    }

}



.card-sublisting-table {
    margin-top: 10px;
    margin-bottom: 10px;
    max-height: 80px;
    overflow-y: auto;
    border: 1px solid #d9dfe7;
    border-radius: 4px;
}

.card-sublisting-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 10px;
    border-bottom: 1px solid #d9dfe7;
    background: #eef3f8;
}

.card-sublisting-row:last-child {
    border-bottom: none;
}

.unit-type {
    width: 25%;
    font-weight: 600;
}

.unit-size {
    width: 35%;
    text-align: center;
}

.unit-price {
    width: 40%;
    text-align: right;
    font-weight: 600;
}


@media (max-width: 1024px) {

    #header-mobile .houzez-icon,
    #header-mobile .houzez-icon:before,
    #header-mobile .icon-navigation-menu:before,
    #header-mobile .icon-user:before {
        color: #fff !important;
    }

}


@media (min-width:768px) and (max-width:1024px) {

    .item-wrap-v9 .listing-image-wrap,
    .item-wrap-v9 .item-header,
    .item-wrap-v9 .listing-image-wrap img {
        width: 100% !important;
        max-width: 100% !important;
    }

    .item-wrap-v9 .listing-image-wrap img {
        object-fit: cover;
    }
}


/* 768px - 850px */
@media (min-width:768px) and (max-width:850px) {

    body.page-id-17972 .sublisting-wrapper {
        width: calc(100% + 220px) !important;
    }

}

@media (min-width: 992px) and (max-width: 1024px) {

    .col-lg-8.bt-content-wrap {
        flex: 0 0 72% !important;
        max-width: 72% !important;
    }

    .col-lg-4 {
        flex: 0 0 28% !important;
        max-width: 28% !important;
    }

}


@media (min-width: 992px) and (max-width: 1024px) {

    /* title ke liye extra space kam karo */
    .featured-title-wrap {
        padding-right: 85px !important;
    }

    .item-title {
        width: 130px !important;
        overflow: hidden !important;
    }

    .item-title a {
        display: block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 100% !important;

    }

    .featured-price-wrap {
        right: 12px !important;
        top: 18px !important;
        transform: translateY(3px);
    }

    .featured-price-wrap .price,
    .featured-price-wrap .item-price {
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    .h-developer-name .item-amenities-text {
        font-size: 9px !important;
    }

    .h-developer-name .hz-figure {
        font-size: 10px !important;
    }

    .h-area {
        transform: translateX(10px) !important;
    }

    .h-area i {
        margin-right: 2px !important;
    }

    .h-area .hz-figure {
        font-size: 10px !important;
    }

    .h-area .area_postfix {
        font-size: 10px !important;
    }

    .h-developer-name {
        margin-right: 2px !important;
    }

    /* date cut hone ka fix */
    .item-address,
    .item-amenities,
    .item-body {
        font-size: 11px !important;
    }

    .btn,
    .label,
    .hz-show-lightbox,
    .item-date {
        font-size: 10px !important;
        padding: 3px 6px !important;
        white-space: nowrap !important;
    }
}


@media (min-width: 992px) and (max-width: 1024px) {

    .elementor-element-6826010a .grid-item-v4 {
        min-height: 600px !important;
    }

}

@media (min-width: 992px) and (max-width: 1024px) {

    .bootstrap-select .filter-option-inner-inner {
        font-size: 15px !important;
        font-weight: 400 !important;
    }

    .bootstrap-select>.dropdown-toggle {
        font-size: 15px !important;
    }

}



@media (min-width: 992px) and (max-width: 1024px) {

    .elementor-17972 .elementor-element-db69370 {
        width: 625px !important;
        max-width: 625px !important;
        flex: 0 0 625px !important;
        margin: 0 auto !important;
    }

}



@media (min-width:768px) and (max-width:991px) {

    .widget-properties .property-item-widget .title-price-row {
        display: block !important;
    }

    .widget-properties .property-item-widget .item-price-widget {
        display: block !important;
        margin-top: 4px !important;
    }

    .widget-properties .property-item-widget .item-title {
        width: 100% !important;
        white-space: normal !important;
    }

    .widget-properties .property-item-widget .right-property-item-widget-wrap {
        width: 100% !important;
    }
}


@media (min-width:768px) and (max-width:991px) {

    .widget-properties .property-item-widget .title-price-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .widget-properties .property-item-widget .item-title {
        flex: 1 !important;
        margin-bottom: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .widget-properties .property-item-widget .item-price-widget {
        white-space: nowrap !important;
        margin-top: 0 !important;
    }
}


/* Recent Viewed Widget Layout Fix */

.widget-properties .property-item-widget .item-amenities {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 6px 10px !important;
    align-items: center !important;
}

.widget-properties .property-item-widget .h-developer-name {
    grid-column: 1;
    grid-row: 1;
    font-size: 11px !important;
    font-weight: 600 !important;
}

.widget-properties .property-item-widget .h-area {
    grid-column: 2;
    grid-row: 1;
    font-size: 11px !important;
    justify-self: end !important;
}

.widget-properties .property-item-widget .h-possession-date {
    grid-column: 2;
    grid-row: 2;
    justify-self: end !important;
    margin: 0 !important;
    font-size: 11px !important;
}

.widget-properties .property-item-widget .h-type {
    display: none !important;
}

/* =========================================================
   HOME PAGE INQUIRY FORM  TABLET & MOBILE RESPONSIVE FIX
   ========================================================= */
@media (max-width: 1024px) {

    .elementor .elementor-element.elementor-element-25a24dc,
    .elementor .elementor-element.elementor-element-4b2f91d {
        width: 100% !important;
        max-width: 100% !important;
        --container-widget-width: 100% !important;
    }

}

@media (max-width: 767px) {

    .elementor .elementor-element.elementor-element-25a24dc,
    .elementor .elementor-element.elementor-element-4b2f91d {
        width: 100% !important;
        max-width: 100% !important;
        --container-widget-width: 100% !important;
    }

    /* Remove the negative wrapper margin + column padding that clipped the labels */
    .elementor .elementor-element.elementor-element-25a24dc .elementor-form-fields-wrapper {
        margin-left: 15px !important;
        margin-right: 15px !important;
    }

    .elementor .elementor-element.elementor-element-25a24dc .elementor-field-group {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

}

/* =========================================================
   FEATURED LISTINGS (item-wrap-v9) MULTI-UNIT SUBLISTING
   Moved out of the per-card inline <style> in
   template-parts/listing/item-v7.php so the CSS loads once
   instead of being duplicated for every card in the carousel.
   ========================================================= */
.sublisting-outer {
    margin-bottom: 10px;

}

.sublisting-wrapper {
    width: 100%;
    background: #f8f9fa;
    border-radius: 10px;
    max-height: 70px;
    overflow-y: auto;
    overflow-x: hidden;
}

.sublisting-row {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 6px 20px !important;
    min-height: 20px;
}

.sublisting-row:not(:last-child) {
    border-bottom: 1px solid #d9dfe7;
}

.sub-col {
    white-space: nowrap;
    flex: 1;
    min-width: 0;
    font-size: 12px;
    font-weight: 600;
}

.sub-col:nth-child(1) {
    text-align: left;
}

.sub-col:nth-child(2) {
    text-align: center;
}

.sub-col:nth-child(3) {
    text-align: right;
    padding-right: 8px;
}

.sublisting-row .sold-out-badge {
    display: inline-block;
    background: #dc3545;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    line-height: 1;
    white-space: nowrap;
}

/* Scrollbar */
.sublisting-wrapper::-webkit-scrollbar {
    width: 5px;
}

.sublisting-wrapper::-webkit-scrollbar-thumb {
    background: #c5ccd5;
    border-radius: 10px;
}

.sublisting-wrapper::-webkit-scrollbar-track {
    background: transparent;
}

/* Prevent possession date from splitting into two lines */
.item-wrap-v9 .item-amenities li,
.item-wrap-v9 [class*="possession"] {
    white-space: nowrap !important;
}

/* Keep address in one line with ellipsis if it's too long */
.item-wrap-v9 .item-address,
.item-wrap-v9 .item-address span {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block;
    /* Allows ellipsis to work on span */
}

.item-wrap-v9 .item-address {
    display: flex;
    align-items: center;
}

.item-wrap-v9 .item-address span {
    display: inline-block;
    max-width: 100%;
}

/* Increase the width of the main container so 4 cards have more space to expand */
.elementor-page-17972 .elementor-container {
    max-width: 1380px !important;
}

/* Responsive: keep the sublisting table tidy as the card narrows */
@media (max-width: 767px) {
    .sublisting-outer {
        padding: 0 15px !important;
    }

    .sublisting-row {
        padding: 6px 12px !important;
        gap: 8px;
    }

    .sub-col {
        font-size: 11px;
    }
}

/* Tablet (768px - 1024px) */
@media only screen and (min-width: 768px) {

    .back-to-top-wrap {
        right: 20px !important;
        bottom: 20px !important;
        z-index: 9999 !important;
    }

    .back-to-top-wrap .scroll_to_top,
    .back-to-top-wrap #scroll-top,
    .back-to-top-wrap .back-to-top {
        width: 36px !important;
        height: 36px !important;
        line-height: 36px !important;
    }
}

@media screen and (width: 1024px) {

    .scroll_to_top,
    #scroll-top,
    .back-to-top {
        right: 16px !important;
    }
}

#desktop-header-search .flex-search.flex-grow-1 {
    flex: 0 0 20% !important;
    max-width: 20% !important;
}

#desktop-header-search .fields-width {
    flex: 0 0 14% !important;
    max-width: 14% !important;
}

/* Fix for Recent Viewed Widget at exactly Tablet / 1024px size */
@media (min-width: 992px) and (max-width: 1024px) {
    .widget-properties .property-item-widget .d-flex {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .widget-properties .property-item-widget .left-property-item-widget-wrap {
        margin-bottom: 12px !important;
        width: 100% !important;
    }

    .widget-properties .property-item-widget .left-property-item-widget-wrap img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }

    .widget-properties .property-item-widget .item-amenities li {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        white-space: nowrap !important;
        flex-wrap: nowrap !important;
    }

    .widget-properties .property-item-widget .item-amenities li.h-type {
        display: none !important;
    }

    .widget-properties .property-item-widget .item-amenities li img,
    .widget-properties .property-item-widget .item-amenities li i {
        width: 16px !important;
        height: 16px !important;
        max-width: 16px !important;
        font-size: 14px !important;
        display: inline-block !important;
        margin-right: 6px !important;
        margin-bottom: 0 !important;
        object-fit: contain !important;
    }

    .widget-properties .property-item-widget .h-area,
    .widget-properties .property-item-widget .h-possession-date {
        margin: 0 !important;
    }
}

/* =========================================
   PROPERTY CARD IMAGE
   Uniform height for Grid (item-wrap-v9), List,
   and Map (half-map) cards. Applies to both the
   static featured image and the JS gallery carousel
   so the first frame matches the sliding frames.
========================================= */
.item-wrap-v9 .listing-image-wrap,
.item-wrap-v9 .listing-thumb,
.item-wrap-v9 .listing-featured-thumb,
.item-wrap-v9 .listing-gallery-wrap,
.item-wrap-v9 .houzez-listing-carousel,
.item-wrap-v9 .houzez-listing-carousel>.slick-list,
.item-wrap-v9 .slide-img,
.item-wrap-v9 .slide-img a,
.list-view .listing-image-wrap,
.list-view .listing-thumb,
.list-view .listing-featured-thumb,
.list-view .listing-gallery-wrap,
.list-view .houzez-listing-carousel,
.list-view .houzez-listing-carousel>.slick-list,
.list-view .slide-img,
.list-view .slide-img a,
.half-map-wrap .listing-image-wrap,
.half-map-wrap .listing-thumb,
.half-map-wrap .listing-featured-thumb,
.half-map-wrap .listing-gallery-wrap,
.half-map-wrap .houzez-listing-carousel,
.half-map-wrap .houzez-listing-carousel>.slick-list,
.half-map-wrap .slide-img,
.half-map-wrap .slide-img a {
    width: 100%;
}

/* Keep the original card image height: the houzez-item-image-6 crop is 4:3 */
.item-wrap-v9 .listing-thumb,
.item-wrap-v9 .slide-img,
.list-view .listing-thumb,
.list-view .slide-img,
.half-map-wrap .listing-thumb,
.half-map-wrap .slide-img {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.item-wrap-v9 .listing-featured-thumb,
.item-wrap-v9 .slide-img a,
.list-view .listing-featured-thumb,
.list-view .slide-img a,
.half-map-wrap .listing-featured-thumb,
.half-map-wrap .slide-img a {
    display: block;
    width: 100%;
    height: 100%;
}

.item-wrap-v9 .listing-featured-thumb img,
.item-wrap-v9 .slide-img img,
.list-view .listing-featured-thumb img,
.list-view .slide-img img,
.half-map-wrap .listing-featured-thumb img,
.half-map-wrap .slide-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Placeholder grey rahe */
.elementor-select-wrapper button.bs-placeholder .filter-option-inner-inner {
    color: #A1A7A5 !important;
}

/* Selected value black ho */
.elementor-select-wrapper button:not(.bs-placeholder) .filter-option-inner-inner {
    color: #000 !important;
}

/* Featured Listings carousel ONLY.
   Outer .property-carousel-module applies 10px slide padding + -10px
   .slick-list margins for card gutters. Those rules also hit the nested
   photo gallery (.slide-img), which shifts images left and leaves a
   white gap on the right. Cancel gutters only inside the card gallery. */
.property-carousel-module .item-wrap-v9 .item-header {
    width: 100%;
    max-width: 100%;
}

.property-carousel-module .houzez-listing-carousel>.slick-list {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.property-carousel-module .houzez-listing-carousel .slick-slide.slide-img {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 1. Prevent Submit Button from overflowing outside white card */
.elementor-element-25a24dc,
.elementor-widget-houzez_elementor_inquiry_form,
.houzez-ele-form-js,
.elementor-widget-houzez_elementor_inquiry_form .elementor-widget-container {
    height: auto !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

/* 2. Hide unneeded <br> line break inside form */
.houzez-ele-form-js>br,
.elementor-form>br {
    display: none !important;
}

/* 3. Make Message textarea height compact so form fits perfectly */
.houzez-ele-form-js textarea,
.elementor-form textarea {
    min-height: 80px !important;
    max-height: 100px !important;
}

/* 4. Message container positioning (Above Message Field) */
.ele-form-messages:empty,
.error-container:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

.ele-form-messages:not(:empty),
.error-container:not(:empty) {
    margin-top: 4px !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    clear: both !important;
    display: block !important;
}

/* 5. Green alert styling (with flex layout & close button styling) */
.ele-form-messages .alert-success,
.ele-form-messages .elementor-message-success,
.ele-form-messages .alert,
.ele-form-messages div {
    background-color: #d4edda !important;
    color: #155724 !important;
    border: 1px solid #c3e6cb !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    margin: 5px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ele-form-messages .btn-close-hz-msg {
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
}

.ele-form-messages .btn-close-hz-msg:hover {
    opacity: 1 !important;
    color: #0c3917 !important;

}

.elementor-field-group .elementor-select-wrapper::before,
.elementor-select-wrapper::before,
body .elementor-select-wrapper::before {
    content: "" !important;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    transform: translateY(-50%) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    pointer-events: none !important;
    text-shadow: none !important;
}

/* REMOVE GREEN TICK CHECKMARK (✔️) FROM ALL FORM FIELDS */
.form-control.valid,
.elementor-field.valid,
input.valid,
select.valid,
textarea.valid,
.is-valid,
.was-validated .form-control:valid,
.was-validated .form-select:valid {
    background-image: none !important;
}

/* ==========================================================================
   Property Preview & Lightbox Modals - 100% Fully Responsive Layout
   ========================================================================== */
.property-lightbox .modal-dialog,
#houzez-listing-lightbox .modal-dialog,
#property-lightbox .modal-dialog {
    margin: 1.5rem auto !important;
    max-height: calc(100vh - 3rem) !important;
    max-width: 1240px;
    width: 92vw;
}

.property-lightbox .modal-content,
#houzez-listing-lightbox .modal-content,
#property-lightbox .modal-content {
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45);
    max-height: calc(100vh - 3rem) !important;
    display: flex !important;
    flex-direction: column !important;
}

.property-lightbox .modal-body,
#houzez-listing-lightbox .modal-body,
#property-lightbox .modal-body {
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    overflow-y: auto !important;
    max-height: calc(100vh - 120px) !important;
}

.property-lightbox .lightbox-gallery-wrap {
    width: 60% !important;
    flex: 0 0 60% !important;
    position: relative;
    background: #000;
}

.property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap {
    width: 100% !important;
    flex: 0 0 100% !important;
}

.property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap~.lightbox-form-wrap,
.property-lightbox .lightbox-form-wrap.lightbox-form-hidden {
    display: none !important;
}

.property-lightbox .lightbox-form-wrap,
.property-lightbox .lightbox-content-wrap {
    width: 40% !important;
    flex: 0 0 40% !important;
    max-height: 540px;
    overflow-y: auto;
    padding: 18px 22px !important;
    box-sizing: border-box !important;
}

/* Lightbox header email button */
.property-lightbox .lightbox-tools .btn-email {
    display: inline-block !important;
}

.property-lightbox .lightbox-tools .btn-email a {
    color: #ffffff !important;
    background-color: #0b4e80 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    text-decoration: none !important;
}

.property-lightbox .lightbox-tools .btn-email a:hover {
    background-color: #083c63 !important;
}

/* Base Slider Image Settings (Desktop) */
.property-lightbox .lightbox-slider img {
    height: 540px !important;
    max-height: calc(100vh - 140px) !important;
    width: 100% !important;
    object-fit: cover !important;
    background: #111;
    display: block;
}

.property-lightbox .lightbox-gallery-full-wrap .lightbox-slider img {
    object-fit: contain !important;
}

.property-lightbox .property-form .form-group {
    margin-bottom: 6px !important;
}

.property-lightbox .property-form .form-control {
    height: 36px;
    padding: 4px 10px;
    font-size: 13px;
}

.property-lightbox .property-form label {
    margin-bottom: 2px !important;
    font-size: 12px !important;
}

.property-lightbox .property-form .hz-form-message {
    height: 55px !important;
    min-height: 50px !important;
}

.property-lightbox .property-form .form-group.my-3 {
    margin-top: 6px !important;
    margin-bottom: 8px !important;
}

.property-lightbox .lightbox-slider .slick-prev,
.property-lightbox .lightbox-slider .slick-next {
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 5;
}

#houzez-listing-lightbox .property-overview-data .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    row-gap: 12px !important;
    column-gap: 20px !important;
}

#houzez-listing-lightbox .property-overview-data .col {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
    flex: 0 0 auto !important;
}

#houzez-listing-lightbox .property-overview-data .col-land-area,
#houzez-listing-lightbox .property-overview-data .col:has(.h-land-area),
.lightbox-content-wrap .property-overview-data .col-land-area {
    width: 100% !important;
    flex: 0 0 100% !important;
    display: block !important;
    margin-top: 8px !important;
}

#houzez-listing-lightbox .property-overview-item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

#houzez-listing-lightbox .property-overview-item i,
#houzez-listing-lightbox .property-overview-item img {
    flex-shrink: 0;
    margin-right: 8px;
    font-size: 16px;
    display: inline-block;
}

/* ==========================================================================
   Responsive Breakpoints for Preview & Lightbox
   ========================================================================== */

/* Laptop / Small Desktop (992px to 1199px) */
@media (min-width: 992px) and (max-width: 1199.98px) {

    .property-lightbox .lightbox-slider img,
    #houzez-listing-lightbox .lightbox-slider img,
    #property-lightbox .lightbox-slider img {
        height: 460px !important;
        object-fit: cover !important;
    }

    .property-lightbox .lightbox-form-wrap,
    .property-lightbox .lightbox-content-wrap,
    #houzez-listing-lightbox .lightbox-form-wrap,
    #houzez-listing-lightbox .lightbox-content-wrap,
    #property-lightbox .lightbox-form-wrap,
    #property-lightbox .lightbox-content-wrap {
        max-height: 460px !important;
        padding: 15px 18px !important;
        overflow-y: auto !important;
    }
}

/* Tablet (768px to 991.98px) - Stacking Gallery and Content smoothly */
@media (min-width: 768px) and (max-width: 991.98px) {

    .property-lightbox .modal-dialog,
    #houzez-listing-lightbox .modal-dialog,
    #property-lightbox .modal-dialog {
        width: 94vw !important;
        max-width: 94vw !important;
        margin: 1rem auto !important;
        max-height: calc(100vh - 2rem) !important;
    }

    .property-lightbox .modal-content,
    #houzez-listing-lightbox .modal-content,
    #property-lightbox .modal-content {
        max-height: calc(100vh - 2rem) !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    .property-lightbox .modal-body,
    #houzez-listing-lightbox .modal-body,
    #property-lightbox .modal-body {
        display: flex !important;
        flex-direction: column !important;
        overflow-y: auto !important;
        max-height: calc(100vh - 6rem) !important;
        padding: 0 !important;
    }

    .property-lightbox .lightbox-gallery-wrap,
    #houzez-listing-lightbox .lightbox-gallery-wrap,
    #property-lightbox .lightbox-gallery-wrap {
        width: 100% !important;
        flex: 0 0 100% !important;
        float: none !important;
        position: static !important;
        padding: 0 !important;
    }

    .property-lightbox .lightbox-form-wrap,
    .property-lightbox .lightbox-content-wrap,
    #houzez-listing-lightbox .lightbox-form-wrap,
    #houzez-listing-lightbox .lightbox-content-wrap,
    #property-lightbox .lightbox-form-wrap,
    #property-lightbox .lightbox-content-wrap {
        width: 100% !important;
        flex: 0 0 100% !important;
        float: none !important;
        position: static !important;
        visibility: visible !important;
        right: auto !important;
        display: block !important;
        max-height: none !important;
        padding: 16px 20px !important;
    }

    .property-lightbox .lightbox-slider img,
    #houzez-listing-lightbox .lightbox-slider img,
    #property-lightbox .lightbox-slider img {
        height: 380px !important;
        max-height: 45vh !important;
        object-fit: cover !important;
        width: 100% !important;
    }
}

/* Mobile Devices (< 768px) */
@media (max-width: 767.98px) {

    .property-lightbox .modal-dialog,
    #houzez-listing-lightbox .modal-dialog,
    #property-lightbox .modal-dialog {
        width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
        margin: 8px auto !important;
        max-height: calc(100vh - 16px) !important;
    }

    .property-lightbox .modal-content,
    #houzez-listing-lightbox .modal-content,
    #property-lightbox .modal-content {
        max-height: calc(100vh - 16px) !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    .property-lightbox .modal-body,
    #houzez-listing-lightbox .modal-body,
    #property-lightbox .modal-body {
        display: flex !important;
        flex-direction: column !important;
        overflow-y: auto !important;
        max-height: calc(100vh - 60px) !important;
        padding: 0 !important;
    }

    .property-lightbox .modal-header,
    #houzez-listing-lightbox .modal-header,
    #property-lightbox .modal-header {
        padding: 10px 14px !important;
    }

    .property-lightbox .lightbox-gallery-wrap,
    #houzez-listing-lightbox .lightbox-gallery-wrap,
    #property-lightbox .lightbox-gallery-wrap {
        width: 100% !important;
        flex: 0 0 100% !important;
        float: none !important;
        position: static !important;
        padding: 0 !important;
    }

    .property-lightbox .lightbox-form-wrap,
    .property-lightbox .lightbox-content-wrap,
    #houzez-listing-lightbox .lightbox-form-wrap,
    #houzez-listing-lightbox .lightbox-content-wrap,
    #property-lightbox .lightbox-form-wrap,
    #property-lightbox .lightbox-content-wrap {
        width: 100% !important;
        flex: 0 0 100% !important;
        float: none !important;
        position: static !important;
        visibility: visible !important;
        right: auto !important;
        display: block !important;
        max-height: none !important;
        padding: 14px !important;
    }

    .property-lightbox .lightbox-slider img,
    #houzez-listing-lightbox .lightbox-slider img,
    #property-lightbox .lightbox-slider img {
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
        object-fit: cover !important;
        width: 100% !important;
    }

    #houzez-listing-lightbox .property-overview-data .row {
        column-gap: 12px !important;
        row-gap: 8px !important;
    }
}

/* Small Mobile (< 576px) */
@media (max-width: 575.98px) {

    .property-lightbox .lightbox-slider img,
    #houzez-listing-lightbox .lightbox-slider img,
    #property-lightbox .lightbox-slider img {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        object-fit: cover !important;
        width: 100% !important;
    }

    .property-lightbox .item-title,
    #houzez-listing-lightbox .item-title,
    #property-lightbox .item-title {
        font-size: 16px !important;
    }

    .property-lightbox .item-price-wrap,
    #houzez-listing-lightbox .item-price-wrap,
    #property-lightbox .item-price-wrap {
        font-size: 15px !important;
    }
}

/* Remove black gradient shadow from native video controls on hover */
video::-webkit-media-controls-panel,
video::-webkit-media-controls-enclosure,
video::-webkit-media-controls {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* ==========================================================================
   CLEAN ROW LAYOUT & SUBLISTING ALIGNMENT FIX
   ========================================================================== */

/* 1. Address Row Height (Fixes collapse when address is empty) */
.item-address,
.item-wrap .item-address,
.item-listing-wrap .item-address {
    min-height: 24px !important;
}

/* 2. Sublisting Box Container Equal Height (1 row vs 2 rows) */
.sublisting-wrapper,
.sublisting-outer,
.sublisting-outer .sublisting-wrapper {
    min-height: 72px !important;
}

/* 3. Sublisting 3-Column Alignment */
.sublisting-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 3px 0 !important;
}

.sublisting-row .sub-col:nth-child(1) {
    width: 25% !important;
    text-align: left !important;
    font-weight: 600 !important;
}

.sublisting-row .sub-col:nth-child(2) {
    width: 40% !important;
    text-align: center !important;
}

.sublisting-row .sub-col:nth-child(3) {
    width: 35% !important;
    text-align: right !important;
}


/* Fix for Image Slider and Lightbox Full Display on Mobile & Tablet */
@media (max-width: 991.98px) {

    .property-lightbox .lightbox-gallery-wrap,
    #houzez-listing-lightbox .lightbox-gallery-wrap,
    #property-lightbox .lightbox-gallery-wrap {
        padding: 0 !important;
        width: 100% !important;
        flex: 0 0 100% !important;
        background: transparent !important;
        overflow: hidden !important;
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
    }

    .property-lightbox .lightbox-gallery,
    #houzez-listing-lightbox .lightbox-gallery,
    #property-lightbox .lightbox-gallery,
    .property-lightbox .lightbox-slider,
    .property-lightbox .lightbox-slider .slick-list,
    .property-lightbox .lightbox-slider .slick-track,
    .property-lightbox .lightbox-slider .slick-slide,
    .property-lightbox .lightbox-slider .slick-slide > div,
    .property-lightbox .lightbox-slider [role="listitem"],
    #houzez-listing-lightbox .lightbox-slider,
    #houzez-listing-lightbox .lightbox-slider .slick-list,
    #houzez-listing-lightbox .lightbox-slider .slick-track,
    #houzez-listing-lightbox .lightbox-slider .slick-slide,
    #houzez-listing-lightbox .lightbox-slider .slick-slide > div,
    #houzez-listing-lightbox .lightbox-slider [role="listitem"],
    #property-lightbox .lightbox-slider,
    #property-lightbox .lightbox-slider .slick-list,
    #property-lightbox .lightbox-slider .slick-track,
    #property-lightbox .lightbox-slider .slick-slide,
    #property-lightbox .lightbox-slider .slick-slide > div,
    #property-lightbox .lightbox-slider [role="listitem"] {
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
        width: 100% !important;
    }

    .property-lightbox .lightbox-slider .slick-track,
    #houzez-listing-lightbox .lightbox-slider .slick-track,
    #property-lightbox .lightbox-slider .slick-track,
    #property-lightbox .slick-track {
        display: block !important;
        transform: none !important;
    }

    .property-lightbox .lightbox-slider .slick-slide,
    #houzez-listing-lightbox .lightbox-slider .slick-slide,
    #property-lightbox .lightbox-slider .slick-slide {
        display: block !important;
        float: left !important;
        height: 280px !important;
    }

    .property-lightbox .lightbox-slider .slick-slide img,
    .property-lightbox .lightbox-slider img,
    #houzez-listing-lightbox .lightbox-slider .slick-slide img,
    #houzez-listing-lightbox .lightbox-slider img,
    .property-lightbox .lightbox-slider div[role="listitem"] img,
    #houzez-listing-lightbox .lightbox-slider div[role="listitem"] img,
    #property-lightbox .lightbox-slider img,
    #property-lightbox .lightbox-slider .slick-slide img,
    #property-lightbox .lightbox-slider div[role="listitem"] img,
    #property-lightbox .lightbox-img {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
        object-fit: cover !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        top: 0 !important;
        transform: none !important;
        background: transparent !important;
    }

    /* Keep lightbox slider proportional on mobile like preview without black voids */
    .property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap .lightbox-slider,
    .property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap .lightbox-slider .slick-list,
    .property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap .lightbox-slider .slick-track,
    .property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap .lightbox-slider .slick-slide,
    .property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap .lightbox-slider .slick-slide > div,
    .property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap .lightbox-slider [role="listitem"] {
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
    }

    .property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap .lightbox-slider .slick-slide img,
    .property-lightbox .lightbox-gallery-wrap.lightbox-gallery-full-wrap .lightbox-slider img {
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
        width: 100% !important;
        object-fit: cover !important;
    }

    /* Single Property Detail Page - Hero Banner Mobile Clean Proportions */
    .property-top-wrap,
    .property-banner,
    .property-banner .tab-content,
    .property-banner .tab-pane,
    #pills-gallery {
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .property-featured-image,
    .property-banner img {
        width: 100% !important;
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* Resolve empty white patch under gallery if form is hidden/empty */
    .property-lightbox .lightbox-form-wrap.lightbox-form-hidden,
    .property-lightbox .lightbox-form-wrap:empty {
        display: none !important;
        padding: 0 !important;
        height: 0 !important;
    }
}

/* Small Mobile (< 576px) */
@media (max-width: 575.98px) {

    .property-lightbox .lightbox-gallery-wrap,
    #houzez-listing-lightbox .lightbox-gallery-wrap,
    #property-lightbox .lightbox-gallery-wrap {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        background: transparent !important;
    }

    .property-lightbox .lightbox-gallery,
    #houzez-listing-lightbox .lightbox-gallery,
    #property-lightbox .lightbox-gallery,
    .property-lightbox .lightbox-slider,
    .property-lightbox .lightbox-slider .slick-list,
    .property-lightbox .lightbox-slider .slick-track,
    .property-lightbox .lightbox-slider .slick-slide,
    .property-lightbox .lightbox-slider .slick-slide > div,
    .property-lightbox .lightbox-slider [role="listitem"],
    #houzez-listing-lightbox .lightbox-slider,
    #houzez-listing-lightbox .lightbox-slider .slick-list,
    #houzez-listing-lightbox .lightbox-slider .slick-track,
    #houzez-listing-lightbox .lightbox-slider .slick-slide,
    #houzez-listing-lightbox .lightbox-slider .slick-slide > div,
    #houzez-listing-lightbox .lightbox-slider [role="listitem"],
    #property-lightbox .lightbox-slider,
    #property-lightbox .lightbox-slider .slick-list,
    #property-lightbox .lightbox-slider .slick-track,
    #property-lightbox .lightbox-slider .slick-slide,
    #property-lightbox .lightbox-slider .slick-slide > div,
    #property-lightbox .lightbox-slider [role="listitem"] {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        width: 100% !important;
    }

    #property-lightbox .slick-track,
    #property-lightbox .lightbox-slider .slick-track {
        transform: none !important;
    }

    .property-lightbox .lightbox-slider .slick-slide,
    #houzez-listing-lightbox .lightbox-slider .slick-slide,
    #property-lightbox .lightbox-slider .slick-slide {
        height: 240px !important;
    }

    .property-lightbox .lightbox-slider .slick-slide img,
    .property-lightbox .lightbox-slider img,
    #houzez-listing-lightbox .lightbox-slider .slick-slide img,
    #houzez-listing-lightbox .lightbox-slider img,
    .property-lightbox .lightbox-slider div[role="listitem"] img,
    #houzez-listing-lightbox .lightbox-slider div[role="listitem"] img,
    #property-lightbox .lightbox-slider img,
    #property-lightbox .lightbox-slider .slick-slide img,
    #property-lightbox .lightbox-slider div[role="listitem"] img,
    #property-lightbox .lightbox-img {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        object-fit: cover !important;
        background: transparent !important;
    }

    .property-top-wrap,
    .property-banner,
    .property-banner .tab-content,
    .property-banner .tab-pane,
    #pills-gallery {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
    }

    .property-featured-image,
    .property-banner img {
        height: 240px !important;
        min-height: 240px !important;
        max-height: 240px !important;
        object-fit: cover !important;
    }
}

/* Fix Slick Slider FOUC */
.houzez-listing-carousel:not(.slick-initialized) {
    display: block !important;
    overflow: hidden !important;
    max-height: 250px !important;
}

.houzez-listing-carousel:not(.slick-initialized) .slide-img {
    display: none !important;
}

.houzez-listing-carousel:not(.slick-initialized) .slide-img:first-child {
    display: block !important;
    width: 100% !important;
}

.houzez-listing-carousel:not(.slick-initialized) .slide-img:first-child img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Force all search fields onto a single row */
#desktop-header-search .advanced-search-v1 .d-flex {
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 7px !important;
}

/* All field wrappers grow equally to fill the row */
#desktop-header-search .advanced-search-v1 .d-flex .flex-search,
#desktop-header-search .advanced-search-v1 .d-flex .fields-width {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* Clear + Search wrappers must NOT grow — use compound selectors to beat .flex-search specificity */
#desktop-header-search .advanced-search-v1 .d-flex .flex-search.reset-search-btn-wrap,
#desktop-header-search .advanced-search-v1 .d-flex .flex-search.btn-no-right-padding {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* Pull Search button flush against Clear (cancel the gap) */
#desktop-header-search .advanced-search-v1 .d-flex .flex-search.btn-no-right-padding {
    margin-left: -4px !important;
    padding-left: 0 !important;
}

/* Make Search button compact — icon only */
#desktop-header-search .btn-search {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    font-size: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

#desktop-header-search .btn-search::after {
    content: "" !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

.advanced-search-nav {
    padding-top: 10px;
    padding-bottom: 0px !important;
}

/* Hide Save Search button from bottom results toolbars while keeping it in top search form */
.page-title-wrap .save-search-btn,
.page-title-wrap .save_search_form,
.page-title-wrap .save-search-click,
.listing-tools-wrap .save-search-btn,
.listing-tools-wrap .save_search_form,
.listing-tools-wrap .save-search-click {
    display: none !important;
}

/* Hide Save Search button on mobile and tablet (<= 991.98px) while keeping PDF report button */
@media (max-width: 991.98px) {

    .save-search-btn,
    .save_search_form,
    .save-search-form-wrap>form,
    .save-search-form-wrap>.save-search-btn,
    .save-search-click {
        display: none !important;
    }
}

/* Unified Property Banner Tools (Favorite, Share, Print) - CIRCLE STYLE */
.property-item-tools {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.property-item-tools .item-tool {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

/* 1. ORIGINAL DESKTOP STYLES (Dark Circles) */
.property-item-tools .item-tool>span,
.property-item-tools .item-tool-favorite,
.property-item-tools .item-tool-share,
.property-item-tools .item-tool-compare,
.property-item-tools .houzez-favorite span,
.property-item-tools .houzez-share span,
.property-item-tools .houzez-print span {
    background: rgba(15, 23, 42, 0.65) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    line-height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.property-item-tools .item-tool>span:hover,
.property-item-tools .item-tool-favorite:hover,
.property-item-tools .item-tool-share:hover,
.property-item-tools .item-tool-compare:hover,
.property-item-tools .houzez-favorite span:hover,
.property-item-tools .houzez-share span:hover,
.property-item-tools .houzez-print span:hover {
    background: rgba(15, 23, 42, 0.9) !important;
    transform: scale(1.08) !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
}

.property-item-tools .item-tool i,
.property-item-tools .item-tool .houzez-icon,
.property-item-tools .item-tool-share i,
.property-item-tools .item-tool-compare i {
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Compact Favorite Properties Modal */
#hz-favorites-modal .modal-dialog,
.hz-favorites-modal .modal-dialog {
    max-width: 680px !important;
    width: 92% !important;
    margin: 1.5rem auto !important;
}

/* ACTIVE/FAVORITED STATE (Desktop) */
.property-item-tools .item-tool-favorite.hz-fav-active,
.property-item-tools .item-tool-favorite.remove_fav,
.property-item-tools .item-tool-favorite.remove-favorite,
.property-item-tools .houzez-favorite span.hz-fav-active,
.property-item-tools .houzez-favorite span.remove_fav,
.property-item-tools .houzez-favorite span.remove-favorite {
    background: #ffffff !important;
    border: 1.5px solid #ff385c !important;
    box-shadow: 0 2px 8px rgba(255, 56, 92, 0.35) !important;
    color: #ff385c !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.property-item-tools .item-tool-favorite.hz-fav-active .hz-heart-icon,
.property-item-tools .item-tool-favorite.remove_fav .hz-heart-icon,
.property-item-tools .item-tool-favorite.remove-favorite .hz-heart-icon,
.property-item-tools .item-tool-favorite.hz-fav-active .hz-heart-icon path,
.property-item-tools .item-tool-favorite.remove_fav .hz-heart-icon path,
.property-item-tools .item-tool-favorite.remove-favorite .hz-heart-icon path {
    fill: #ff385c !important;
    stroke: #ff385c !important;
    stroke-width: 0 !important;
    color: #ff385c !important;
}

/* Force SVG Heart to display correctly */
.property-item-tools .item-tool-favorite .hz-heart-icon {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.property-item-tools .item-tool-favorite .hz-heart-icon path {
    visibility: visible !important;
    opacity: 1 !important;
}

/* INACTIVE SVG HEART (Desktop) */
.property-item-tools .item-tool-favorite:not(.hz-fav-active):not(.remove_fav):not(.remove-favorite) .hz-heart-icon,
.property-item-tools .item-tool-favorite:not(.hz-fav-active):not(.remove_fav):not(.remove-favorite) .hz-heart-icon path {
    fill: none !important;
    stroke: #ffffff !important;
    stroke-width: 2.2px !important;
}

/* ==========================================================
   2. MOBILE FIX (Ensures white circles + black icons on mobile)
   
/* Mobile Property Tools Fix - Make Tools Match Gallery/Map Squares */
@media (max-width: 991px) {

    /* 1. Turn the right-side tool circles into squares (Match left-side tabs) */
    .mobile-property-tools .property-item-tools .item-tool>span,
    .mobile-property-tools .property-item-tools .item-tool-favorite,
    .mobile-property-tools .property-item-tools .item-tool-share,
    .mobile-property-tools .property-item-tools .item-tool-compare {
        background: #ffffff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;

        /* Size to match the gallery buttons */
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        max-width: 44px !important;
        max-height: 44px !important;
        line-height: 44px !important;

        /* Change from circle to rounded square */
        border-radius: 4px !important;
        border: 1px solid #cbd5e1 !important;
        /* Subtle gray border */
        box-shadow: none !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    /* Keep the hover state matched to the square style */
    .mobile-property-tools .property-item-tools .item-tool>span:hover {
        background: #f8fafc !important;
        border-color: #94a3b8 !important;
    }

    /* 2. Force Font Icons to show in DARK GRAY to match */
    .mobile-property-tools .property-item-tools .item-tool i,
    .mobile-property-tools .property-item-tools .item-tool .houzez-icon {
        color: #475569 !important;
        /* Dark gray icon */
        font-size: 16px !important;
        line-height: 1 !important;
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* 3. Force SVG Heart to display correctly */
    .mobile-property-tools .property-item-tools .item-tool-favorite .hz-heart-icon {
        display: inline-block !important;
        width: 18px !important;
        height: 18px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .mobile-property-tools .property-item-tools .item-tool-favorite .hz-heart-icon path {
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* 4. INACTIVE STATE: Apply DARK GRAY stroke color to the SVG Heart */
    .mobile-property-tools .property-item-tools .item-tool-favorite:not(.hz-fav-active):not(.remove_fav):not(.remove-favorite) .hz-heart-icon,
    .mobile-property-tools .property-item-tools .item-tool-favorite:not(.hz-fav-active):not(.remove_fav):not(.remove-favorite) .hz-heart-icon path,
    .mobile-property-tools .property-item-tools .add-favorite-js:not(.hz-fav-active):not(.remove_fav):not(.remove-favorite) .hz-heart-icon,
    .mobile-property-tools .property-item-tools .add-favorite-js:not(.hz-fav-active):not(.remove_fav):not(.remove-favorite) .hz-heart-icon path {
        fill: none !important;
        stroke: #475569 !important;
        stroke-width: 2.2px !important;
    }

    /* 5. ACTIVE STATE: Force Heart to SOLID RED when favorited (clicked) */
    .mobile-property-tools .property-item-tools .item-tool-favorite.hz-fav-active,
    .mobile-property-tools .property-item-tools .item-tool-favorite.remove_fav,
    .mobile-property-tools .property-item-tools .item-tool-favorite.remove-favorite {
        background: #ffffff !important;
        border: 1px solid #ff385c !important;
        /* Red border when active */
    }

    .mobile-property-tools .property-item-tools .item-tool-favorite.hz-fav-active i,
    .mobile-property-tools .property-item-tools .item-tool-favorite.remove_fav i,
    .mobile-property-tools .property-item-tools .item-tool-favorite.remove-favorite i {
        color: #ff385c !important;
    }

    .mobile-property-tools .property-item-tools .item-tool-favorite.hz-fav-active .hz-heart-icon,
    .mobile-property-tools .property-item-tools .item-tool-favorite.hz-fav-active .hz-heart-icon path,
    .mobile-property-tools .property-item-tools .item-tool-favorite.remove_fav .hz-heart-icon,
    .mobile-property-tools .property-item-tools .item-tool-favorite.remove_fav .hz-heart-icon path,
    .mobile-property-tools .property-item-tools .item-tool-favorite.remove-favorite .hz-heart-icon,
    .mobile-property-tools .property-item-tools .item-tool-favorite.remove-favorite .hz-heart-icon path {
        fill: #ff385c !important;
        stroke: #ff385c !important;
        stroke-width: 0 !important;
        color: #ff385c !important;
    }
}

/* Fix Footer Copyright Alignment */
.footer-copyright {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
}

.footer-copyright p,
.footer-copyright div,
.footer-copyright span,
.footer-copyright a {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
}

.footer-copyright br {
    display: none !important;
}



/* iPhone Safari: prevent input focus auto-zoom */
@media screen and (max-width: 767px) {

    input,
    textarea,
    select,
    .form-control,
    .hd-search-input,
    .hd-budget-input,
    .bootstrap-select > .dropdown-toggle,
    .bootstrap-select .filter-option-inner-inner {
        font-size: 16px !important;
    }

}

/* iOS-specific safeguard */
@supports (-webkit-touch-callout: none) {
    @media screen and (max-width: 767px) {
        input,
        textarea,
        select,
        .form-control,
        .hd-search-input,
        .hd-budget-input,
        .bootstrap-select > .dropdown-toggle {
            font-size: 16px !important;
        }
    }
}


/* Prevent automatic zoom on iPhone Safari */
@media screen and (max-width: 767px) {
    .hd-home-search input,
    .hd-home-search select,
    .hd-home-search textarea,
    .hd-inner-search-bar input,
    .hd-inner-search-bar select,
    .hd-inner-search-bar textarea,
    .hd-advanced-drawer-inner input,
    .hd-advanced-drawer-inner select,
    .hd-advanced-drawer-inner textarea,
    .hd-advanced-search-drawer input,
    .hd-advanced-search-drawer select,
    .hd-advanced-search-drawer textarea,
    .hd-budget-combobox-wrap .hd-budget-input {
        font-size: 16px !important;
    }
}

/* =========================================================
   COMPACT SPACING: Breadcrumb, Sort By, & Listing Content
========================================================= */
.listing-wrap .page-title-wrap,
.normal-page-search-results .page-title-wrap,
.half-map-wrap .page-title-wrap {
    padding-top: 14px !important;
    padding-bottom: 4px !important;
}

.listing-wrap .listing-tools-wrap,
.listing-tools-wrap {
    padding-top: 0 !important;
    padding-bottom: 4px !important;
}

.listing-wrap .listing-tools-wrap .d-flex,
.listing-tools-wrap .d-flex {
    margin-bottom: 4px !important;
}

.listing-wrap .listings-count,
.listings-count {
    margin-bottom: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

/* =========================================================
   MOBILE COMPACT: Single row Breadcrumbs & Sort By
========================================================= */
@media (max-width: 767px) {
 /* Directly show mobile search bar & hide yellow toggle/close buttons */
    .hd-mobile-search-toggle,
    .hd-mobile-search-close,
    .hd-home-search .hd-mobile-search-toggle,
    .hd-home-search .hd-mobile-search-close,
    .hd-home-search.hd-search-expanded .hd-mobile-search-toggle,
    .hd-home-search.hd-search-expanded .hd-mobile-search-close {
        display: none !important;
    }
    /* Remove close button from advanced search of home search */
    .hd-home-search:not(.hd-inner-search-bar *) .hd-advanced-drawer-close-btn,
    body.home .hd-advanced-drawer-close-btn,
    #hd-advanced-drawer-close-btn {
        display: none !important;
    }
    .hd-search-wrapper,
    .hd-home-search .hd-search-wrapper {
        position: relative !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        display: block !important;
    }
    /* 1. Compact inner search bar */
    .hd-inner-search-bar {
        padding: 8px 0 !important;
        margin-bottom: 0 !important;
    }

    .hd-inner-search-bar .hd-home-search,
    .hd-inner-search-bar .hd-search-wrapper,
    .hd-inner-search-bar .hd-search-card {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Inner search bar on mobile (properties search): removed gap so drawer sits directly under search bar */
    .hd-inner-search-bar .hd-home-search .hd-advanced-search-drawer,
    .hd-inner-search-bar .hd-search-wrapper .hd-advanced-search-drawer,
    .hd-inner-search-bar .hd-advanced-search-drawer,
    .hd-inner-search-bar #hd-advanced-search-drawer {
        top: calc(100% + 4px) !important;
        bottom: auto !important;
    }

    /* 2. Main container & listing wrap spacing */
    main#main-wrap,
    .main-wrap,
    section.listing-wrap,
    .listing-wrap,
    .listing-v7 {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    .listing-wrap>.container,
    .listing-wrap>.container-fluid {
        padding-top: 0 !important;
    }

    .listing-wrap .col-lg-12,
    .listing-wrap .bt-content-wrap {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* 3. Page title wrap on mobile: clean single row with comfortable breathing room (listing/search pages only) */
    .listing-wrap .page-title-wrap,
    .normal-page-search-results .page-title-wrap,
    .half-map-wrap .page-title-wrap {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding-top: 5px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        gap: 10px !important;
        overflow: visible !important;
    }

    /* Property detail banner header must remain strictly hidden on mobile */
    .property-banner .page-title-wrap.d-none,
    .property-banner-v2 .page-title-wrap.d-none,
    .property-top-wrap .page-title-wrap.d-none,
    .property-banner header.page-title-wrap,
    .property-top-wrap header.page-title-wrap {
        display: none !important;
    }

    .breadcrumb-wrap {
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    .breadcrumb-wrap nav,
    .breadcrumbs,
    .breadcrumb {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        line-height: 1.3 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        white-space: nowrap !important;
    }

    .breadcrumb li,
    .breadcrumb a,
    .breadcrumb-item,
    .breadcrumb-item a {
        font-size: 11.5px !important;
        line-height: 1.3 !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #64748b !important;
        white-space: nowrap !important;
    }
     .breadcrumb .icon-house,
    .breadcrumb-item .icon-house,
    .breadcrumb-item-home .icon-house {
        margin-left: 5px !important;
    }


    .breadcrumb-item+.breadcrumb-item::before {
        padding-left: 3px !important;
        padding-right: 3px !important;
        font-size: 10px !important;
        color: #94a3b8 !important;
    }

   
    /* 4. Compact Sort-by & View Switcher on same row after breadcrumb */
    .listing-wrap .page-title-wrap .d-flex.align-items-center,
    /* 4. On mobile search result page: hide header sort from top breadcrumb row, show before view map button */
    .page-title-wrap .hd-header-sort {
        display: none !important;
    }

    .page-title-wrap .d-flex.align-items-center {
        display: none !important;
    }

    .hd-tools-sort-wrap {
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 8px 0 auto !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }


    .sort-by,
    .sort-by .d-flex {
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        position: relative !important;
        z-index: 50 !important;
    }

    .sort-by .sort-by-title {
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 26px !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap !important;
        color: #334155 !important;
    }

    .sort-by .bootstrap-select {
        width: auto !important;
        margin: 0 !important;
    }

    .sort-by .bootstrap-select>.btn {
        height: 26px !important;
        min-height: 26px !important;
        padding: 0 6px !important;
        font-size: 11px !important;
        line-height: 24px !important;
        border-radius: 5px !important;
        border: 1px solid #cbd5e1 !important;
        background: #f8fafc !important;
        color: #1e293b !important;
    }

    .sort-by .bootstrap-select>.btn .filter-option-inner-inner {
        font-size: 11px !important;
        line-height: 24px !important;
        white-space: nowrap !important;
    }

    .sort-by .bootstrap-select .dropdown-menu {
        z-index: 1060 !important;
    }

    /* Hide view switcher from header row on mobile so only breadcrumb + sort-by remain */
    .listing-wrap .page-title-wrap .listing-switch-view,
    .normal-page-search-results .page-title-wrap .listing-switch-view,
    .half-map-wrap .page-title-wrap .listing-switch-view {
        display: none !important;
    }

    /* Hide the 2 layout buttons before the map (grid and list) on mobile view */
    .listing-switch-view .layout-btn:not(.half-map-btn),
    .listing-switch-view .views-title {
        display: none !important;
    }

    /* 5. Hide empty articles */
    .bt-content-wrap > article,
    .bt-content-wrap article:empty {
        margin: 0 !important;
        padding: 0 !important;
        display: none !important;
    }
    .bt-content-wrap > article p:empty {
        display: none !important;
    }

    /* 6. Single row for property count (left) and map button (right where circled) */
    .listing-wrap .listing-tools-wrap .d-flex,
    .listing-tools-wrap .d-flex,
    .listing-tools-wrap > .d-flex {
        display: flex !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }
    .listing-wrap .listings-count,
    .listings-count,
    .listing-tools-wrap .flex-grow-1 {
        flex: 0 0 auto !important;
        flex-grow: 0 !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #64748b !important;
        line-height: 26px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    /* Mobile map button on the right */
    .hd-mobile-map-btn-wrap {
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }
    .hd-mobile-map-btn-wrap .listing-switch-view {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .hd-mobile-map-btn-wrap .half-map-btn {
        width: 26px !important;
        height: 26px !important;
        line-height: 24px !important;
        font-size: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        border-radius: 5px !important;
        border: 1px solid #cbd5e1 !important;
        background: #f8fafc !important;
        color: #00457c !important;
        text-decoration: none !important;
    }
    .hd-mobile-map-btn-wrap .half-map-btn:hover,
    .hd-mobile-map-btn-wrap .half-map-btn.active {
        background: #00457c !important;
        color: #ffffff !important;
        border-color: #00457c !important;
    }

    /* Mobile drawer fields (All Areas, Type, Typography) open UPWARDS with compact height */
    .hd-advanced-drawer-inner .bootstrap-select .dropdown-menu,
    .hd-advanced-search-drawer .bootstrap-select .dropdown-menu,
    .hd-inner-search-bar .hd-advanced-drawer-inner .bootstrap-select .dropdown-menu,
    .hd-inner-search-bar .hd-advanced-drawer-inner select[name="areas[]"]~.dropdown-menu,
    .hd-inner-search-bar .hd-advanced-drawer-inner select[name="type[]"]~.dropdown-menu {
        top: auto !important;
        bottom: calc(100% + 4px) !important;
        max-height: 155px !important;
        transform: none !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        box-shadow: 0 -10px 30px rgba(15, 23, 42, 0.14), 0 -2px 6px rgba(0, 0, 0, 0.04) !important;
        z-index: 100080 !important;
    }

    .hd-advanced-drawer-inner .bootstrap-select .inner,
    .hd-advanced-search-drawer .bootstrap-select .inner,
    .hd-advanced-drawer-inner .bootstrap-select .dropdown-menu.inner,
    .hd-advanced-search-drawer .bootstrap-select .dropdown-menu.inner,
    .hd-inner-search-bar .hd-advanced-drawer-inner .bootstrap-select .inner,
    .hd-inner-search-bar .hd-advanced-search-drawer .bootstrap-select .inner {
        max-height: 66px !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .hd-advanced-drawer-inner .bootstrap-select .bs-searchbox,
    .hd-advanced-search-drawer .bootstrap-select .bs-searchbox {
        padding: 4px 6px !important;
    }

    .hd-advanced-drawer-inner .bootstrap-select .bs-searchbox input.form-control,
    .hd-advanced-search-drawer .bootstrap-select .bs-searchbox input.form-control {
        height: 28px !important;
        min-height: 28px !important;
        padding: 2px 8px !important;
        font-size: 11px !important;
    }

    .hd-advanced-drawer-inner .bootstrap-select .bs-actionsbox,
    .hd-advanced-search-drawer .bootstrap-select .bs-actionsbox {
        padding: 2px 6px !important;
    }

    .hd-advanced-drawer-inner .bootstrap-select .bs-actionsbox .btn-group button,
    .hd-advanced-search-drawer .bootstrap-select .bs-actionsbox .btn-group button {
        padding: 2px 4px !important;
        font-size: 10.5px !important;
        line-height: 18px !important;
    }

    .hd-advanced-drawer-inner .bootstrap-select .dropdown-menu li a,
    .hd-advanced-search-drawer .bootstrap-select .dropdown-menu li a {
        min-height: 28px !important;
        padding: 4px 8px !important;
        font-size: 11.5px !important;
        display: flex !important;
        align-items: center !important;
    }

    .hd-advanced-drawer-inner .bootstrap-select.show,
    .hd-advanced-drawer-inner .bootstrap-select.open,
    .hd-inner-search-bar .hd-advanced-drawer-inner .bootstrap-select.show {
        z-index: 100070 !important;
    }

    .hd-advanced-drawer-inner .bootstrap-select .dropdown-toggle::after,
    .hd-inner-search-bar .hd-advanced-drawer-inner .bootstrap-select .dropdown-toggle::after {
        border-bottom: 0.3em solid !important;
        border-top: 0 !important;
    }
    /* 7. Compact listing grid view gap */
    .listing-wrap .listing-view.gy-4,
    .listing-view.gy-4 {
        --bs-gutter-y: 12px !important;
    }
    .listing-wrap .listing-view.gx-4,
    .listing-view.gx-4 {
        --bs-gutter-x: 10px !important;
    }
    .listing-wrap .listing-view.gy-4 > *,
    .listing-view.gy-4 > * {
        margin-top: 8px !important;
    }
}

@media (min-width: 768px) {
    .hd-mobile-map-btn-wrap {
        display: none !important;
    }
}


/* Ensure header and user profile dropdown float above the search bar */
.header-main-wrap,
#header-section,
.header-transparent-wrap {
    position: relative !important;
    z-index: 1050 !important;
}

.navbar-logged-in-wrap,
.logged-in-nav-wrap,
#navi-user {
    position: relative !important;
    z-index: 1051 !important;
}

.logged-in-nav.dropdown-menu,
.navbar-logged-in-wrap .dropdown-menu,
.header-main-wrap .dropdown-menu {
    z-index: 1060 !important;
}

/* Ensure WhatsApp floating button stays locked on the opposite side (bottom-left) and never conflicts */
.synced-whatsapp-btn {
    position: fixed !important;
    bottom: 25px !important;
    left: 25px !important;
    right: auto !important;
    top: auto !important;
    z-index: 2147483647 !important;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

@media screen and (max-width: 768px) {
    .synced-whatsapp-btn {
        position: fixed !important;
        bottom: 20px !important;
        left: 16px !important;
        right: auto !important;
        top: auto !important;
        z-index: 2147483647 !important;
    }
}

/* ==========================================================================
   Sub-Listings Table Structure (Preserve Table on Mobile)
   ========================================================================== */
.sub-listings-table-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 15px;
}

.sub-listings-table-container table.sub-listings-table,
table.sub-listings-table {
    width: 100% !important;
    border-collapse: collapse !important;
    display: table !important;
    margin-bottom: 0 !important;
}

.sub-listings-table-container thead,
table.sub-listings-table thead {
    display: table-header-group !important;
}

.sub-listings-table-container thead tr,
table.sub-listings-table thead tr {
    display: table-row !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
}

.sub-listings-table-container tbody,
table.sub-listings-table tbody {
    display: table-row-group !important;
}

.sub-listings-table-container tr,
table.sub-listings-table tr {
    display: table-row !important;
    margin-bottom: 0 !important;
}

.sub-listings-table-container th,
.sub-listings-table-container td,
table.sub-listings-table th,
table.sub-listings-table td {
    display: table-cell !important;
    padding: 12px 14px !important;
    vertical-align: middle !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.sub-listings-table-container th,
table.sub-listings-table th {
    background: #f8f9fa !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #222 !important;
    border-bottom: 2px solid #dee2e6 !important;
}

.sub-listings-table-container td,
table.sub-listings-table td {
    border-bottom: 1px solid #e9ecef !important;
}

.sub-listings-table-container td:before,
table.sub-listings-table td:before {
    display: none !important;
    content: none !important;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .sub-listings-table-container {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        margin-bottom: 15px !important;
    }

    .sub-listings-table-container table.sub-listings-table,
    table.sub-listings-table {
        min-width: 480px !important;
        width: 100% !important;
        table-layout: auto !important;
    }

    .sub-listings-table-container th,
    .sub-listings-table-container td,
    table.sub-listings-table th,
    table.sub-listings-table td {
        display: table-cell !important;
        padding: 10px 12px !important;
        font-size: 13.5px !important;
        white-space: nowrap !important;
        vertical-align: middle !important;
    }
}

@media (max-width: 767.98px) {
    .sub-listings-table-container {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        margin-bottom: 15px !important;
    }

    .sub-listings-table-container table.sub-listings-table,
    table.sub-listings-table {
        min-width: 380px !important;
        width: 100% !important;
        table-layout: auto !important;
    }

    .sub-listings-table-container th,
    .sub-listings-table-container td,
    table.sub-listings-table th,
    table.sub-listings-table td {
        display: table-cell !important;
        padding: 10px 6px !important;
        font-size: 12.5px !important;
        white-space: nowrap !important;
        vertical-align: middle !important;
    }

    /* Col 1: Typography / Type */
    .sub-listings-table th.sub-listing-col-type,
    .sub-listings-table td.sub-listing-col-type {
        text-align: left !important;
        padding-left: 8px !important;
        padding-right: 4px !important;
        width: 18% !important;
        min-width: 60px !important;
    }

    /* Col 2: Price */
    .sub-listings-table th.sub-listing-col-price,
    .sub-listings-table td.sub-listing-col-price {
        text-align: left !important;
        font-weight: 700 !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        width: 20% !important;
        min-width: 66px !important;
    }

    /* Col 3: Carpet Area */
    .sub-listings-table th.sub-listing-col-area,
    .sub-listings-table td.sub-listing-col-area {
        text-align: left !important;
        padding-left: 4px !important;
        padding-right: 6px !important;
        width: 23% !important;
        min-width: 76px !important;
    }

    /* Col 4: Status (positioned directly after Carpet Area, fits fully on mobile screen) */
    .sub-listings-table th.sub-listing-col-status,
    .sub-listings-table td.sub-listing-col-status {
        text-align: center !important;
        padding-left: 4px !important;
        padding-right: 8px !important;
        width: 22% !important;
        min-width: 82px !important;
    }

    /* Col 5: Possession Date (accessible via smooth horizontal swipe) */
    .sub-listings-table th.sub-listing-col-possession,
    .sub-listings-table td.sub-listing-col-possession {
        display: table-cell !important;
        text-align: left !important;
        padding-left: 8px !important;
        padding-right: 12px !important;
        width: 17% !important;
        min-width: 85px !important;
    }

    .sub-listings-table .sold-out-badge,
    .sub-listings-table .available-badge {
        font-size: 11px !important;
        padding: 4px 8px !important;
        border-radius: 12px !important;
        display: inline-block !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
}

.sub-listings-table-container::-webkit-scrollbar {
    height: 5px;
}
.sub-listings-table-container::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 4px;
}
.sub-listings-table-container::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

.sub-listings-table .sold-out-badge {
    display: inline-block;
    background: #dc3545;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    line-height: 1;
    white-space: nowrap;
}

.sub-listings-table .available-badge {
    display: inline-block;
    background: #28a745;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    line-height: 1;
    white-space: nowrap;
}

/* =========================================================
   FLOOR PLANS SECTION (DETAIL PAGE)
   ========================================================= */
.property-floor-plans-wrap {
    margin-top: 30px;
    margin-bottom: 30px;
}

.hd-floor-plans-nav-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
}

.hd-floor-plan-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    list-style: none;
}

.hd-floor-plan-pills .nav-link {
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    color: #334155 !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: all 0.25s ease !important;
    cursor: pointer;
    box-shadow: none !important;
}

.hd-floor-plan-pills .nav-link .hd-plan-nav-size {
    font-size: 11px;
    font-weight: 500;
    opacity: 0.8;
    margin-left: 6px;
    padding-left: 6px;
    border-left: 1px solid rgba(0,0,0,0.15);
}

.hd-floor-plan-pills .nav-link:hover {
    border-color: #00aeff !important;
    color: #00aeff !important;
    background: #f0f9ff !important;
}

.hd-floor-plan-pills .nav-link.active {
    background: #00aeff !important;
    color: #ffffff !important;
    border-color: #00aeff !important;
    box-shadow: 0 4px 12px rgba(0, 174, 255, 0.35) !important;
}

.hd-floor-plan-pills .nav-link.active .hd-plan-nav-size {
    border-left-color: rgba(255,255,255,0.4);
    opacity: 0.95;
}

.property-floor-plans-wrap .block-wrap {
    padding-bottom: 22px !important;
}

.hd-floor-plans-tab-content > .tab-pane {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hd-floor-plans-tab-content > .tab-pane.active,
.hd-floor-plans-tab-content > .tab-pane.show.active {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
    visibility: visible !important;
}

.hd-floor-plan-card {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 16px 18px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    margin-bottom: 0 !important;
}

.hd-floor-plan-img-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px 10px;
    position: relative;
    overflow: hidden;
    min-height: 160px;
    max-width: 320px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hd-plan-img {
    max-height: 400px;
    width: auto;
    object-fit: contain;
    margin: 0 auto;
    border-radius: 6px;
    transition: transform 0.3s ease;
}

.hd-plan-lightbox-trigger {
    position: relative;
    cursor: zoom-in;
    text-decoration: none;
}

.hd-plan-lightbox-trigger:hover .hd-plan-img {
    transform: scale(1.02);
}

.hd-plan-zoom-badge {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(15, 23, 42, 0.75);
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 20px;
    backdrop-filter: blur(4px);
    pointer-events: none;
    transition: background 0.2s ease;
}

.hd-plan-lightbox-trigger:hover .hd-plan-zoom-badge {
    background: rgba(0, 174, 255, 0.9);
}

.hd-floor-plan-info .hd-plan-heading {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
}

.hd-floor-plan-info .hd-status-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
}

.hd-plan-specs-list li {
    font-size: 13.5px;
    color: #334155;
}

.hd-plan-specs-list li strong {
    color: #0f172a;
}

.hd-plan-enquire-btn {
    background: #00aeff !important;
    border-color: #00aeff !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    line-height: 1.4 !important;
    transition: all 0.25s ease;
    cursor: pointer;
}

.hd-plan-enquire-btn:hover {
    background: #0096db !important;
    border-color: #0096db !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 174, 255, 0.25);
}

.hd-plan-dl-btn {
    font-size: 13px !important;
    font-weight: 600;
    border-radius: 6px !important;
    padding: 7px 16px !important;
    line-height: 1.4 !important;
}

.hd-sublisting-plan-link {
    display: inline-block;
    margin-left: 6px;
    font-size: 11px;
    padding: 2px 7px;
    background: #e0f2fe;
    color: #0284c7 !important;
    border-radius: 12px;
    text-decoration: none !important;
    font-weight: 600;
    transition: all 0.2s ease;
}

.hd-sublisting-plan-link:hover {
    background: #0284c7;
    color: #fff !important;
}

@media (max-width: 767px) {
    .hd-floor-plan-pills {
        flex-wrap: nowrap;
    }
    .hd-floor-plan-card {
        padding: 16px;
    }
    .hd-floor-plan-img-box {
        min-height: 200px;
    }
    .hd-plan-img {
        max-height: 260px;
    }
}