/* ViewHomes single property layout. */

.single-property {
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
}

/* Keep the mobile property gallery usable even if the theme slider is delayed
   or blocked by an older cached script. Before initialisation only the first
   frame is visible; the JS watchdog then restores LightSlider or enables this
   native horizontal swipe track. */
@media (max-width: 767.98px) {
    .single-property #property-gallery-js:not(.gallery-initialized):not(.lightSlider) > div:not(:first-child) {
        display: none !important;
    }

    .single-property #property-gallery-js.viewhomes-native-property-gallery {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        touch-action: pan-x pan-y pinch-zoom;
    }

    .single-property #property-gallery-js.viewhomes-native-property-gallery::-webkit-scrollbar {
        display: none;
    }

    .single-property #property-gallery-js.viewhomes-native-property-gallery > div {
        display: block !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        height: auto !important;
        scroll-snap-align: start;
    }

    .single-property #property-gallery-js.viewhomes-native-property-gallery > div > a,
    .single-property #property-gallery-js.viewhomes-native-property-gallery img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        object-fit: cover !important;
    }

    /* A selected LightSlider frame must remain visible after a mobile tap or swipe. */
    .single-property .property-banner .lSSlideWrapper #property-gallery-js .lslide,
    .single-property .property-banner .lSSlideWrapper #property-gallery-js .lslide > a,
    .single-property .property-banner .lSSlideWrapper #property-gallery-js .lslide img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

.single-property .viewhomes-property-wrap {
    margin-top: 0 !important;
}

.single-property .bt-sidebar-wrap,
.single-property #sidebar,
.single-property .sidebar-wrap,
.single-property .widget-property-form,
.single-property .widget-wrap.widget-property-form,
.single-property .elementor-element-ceeee85 {
    display: none !important;
}

.single-property .bt-content-wrap,
.single-property .col-lg-8.bt-content-wrap,
.single-property .elementor-element-434d240 > .elementor-element-93aa5fd {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

@media screen and (min-width: 992px) {
    .single-property .elementor-element-40c3a23 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 24px !important;
    }
    
    .single-property .elementor-element-40c3a23 > .elementor-element-9ab0e6c {
        flex: 0 0 calc(66.666667% - 12px) !important;
        max-width: calc(66.666667% - 12px) !important;
        width: calc(66.666667% - 12px) !important;
    }
    
    .single-property .elementor-element-40c3a23 > .elementor-element-1a9bfb6 {
        flex: 0 0 calc(33.333333% - 12px) !important;
        max-width: calc(33.333333% - 12px) !important;
        width: calc(33.333333% - 12px) !important;
    }
}

@media screen and (max-width: 991px) {
    .single-property .elementor-element-40c3a23 {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }

    .single-property .elementor-element-40c3a23 > .elementor-element-9ab0e6c,
    .single-property .elementor-element-40c3a23 > .elementor-element-1a9bfb6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

.single-property .elementor-element-434d240 {
    gap: 0 !important;
}

.single-property .elementor-element-e520272,
.single-property .elementor-element-ed27310,
.single-property .elementor-element-77c0ad1,
.single-property .elementor-element-f856820,
.single-property .elementor-element-d71e74a,
.single-property .elementor-element-bdd6bf7,
.single-property .elementor-element-a434494,
.single-property .elementor-element-e97b623,
.single-property .elementor-element-aec36a2,
.single-property .elementor-element-53755c4,
.single-property .elementor-element-cb4e6ce,
.single-property .elementor-element-fa457dc,
.single-property .elementor-element-b00f19c,
.single-property #property-floor-plans-wrap,
.single-property .property-floor-plans-wrap,
.single-property #property-address-wrap,
.single-property .property-address-wrap,
.single-property #property-map-wrap,
.single-property .property-map-wrap {
    display: none !important;
}

.single-property .elementor-element-c0aaa38:has(#property-video-wrap iframe:not([src])),
.single-property .elementor-element-c0aaa38:has(#property-video-wrap iframe[src=""]),
.single-property .elementor-element-c0aaa38:has(#property-video-wrap iframe[src="about:blank"]) {
    display: none !important;
}

.single-property .property-banner .nav,
.single-property .property-banner .nav-tabs,
.single-property .property-banner [id*="pills-gallery-tab"],
.single-property .property-banner [id*="pills-video-tab"] {
    display: none !important;
}

.single-property .page-title-wrap.d-none.d-md-block,
.single-property .page-title-wrap {
    display: block !important;
    margin-bottom: 20px !important;
}

.single-property .mobile-property-title,
.single-property .page-title,
.single-property .page-title-mobile {
    display: block !important;
}

.single-property .page-title h1,
.single-property .page-title-mobile {
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
    font-size: 34px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
    margin-top: 4px !important;
    margin-bottom: 8px !important;
}

.single-property .elementor-widget-houzez-property-breadcrumb,
.single-property .breadcrumb-wrap {
    display: none !important;
}

.single-property .elementor-widget-houzez-property-section-details,
.single-property #property-detail-wrap,
.single-property .property-detail-wrap {
    display: none !important;
}

.single-property .viewhomes-property-top-title {
    display: block !important;
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
    font-size: 34px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #0f172a !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
}

.single-property .viewhomes-property-title-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    position: relative !important;
    margin: 0 0 24px !important;
    padding: 0 !important; /* Flat modern: no padding */
    width: 100% !important;
    overflow: visible !important;
    border: none !important; /* Flat modern: no border */
    background: transparent !important; /* Flat modern: transparent */
    box-shadow: none !important; /* Flat modern: no shadow */
}

.single-property .viewhomes-property-title-row::before {
    display: none !important; /* Flat modern: no left bar */
}

.single-property .viewhomes-property-title-row .viewhomes-property-top-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 34px !important; /* Set title font size to 34px */
    font-weight: 800 !important;
    color: #0f2a44 !important;
    letter-spacing: -0.5px !important;
}

.single-property .viewhomes-property-title-row .viewhomes-property-top-title::after {
    display: none !important;
}

.single-property .viewhomes-property-top-price {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-height: 48px !important;
    padding: 10px 24px !important;
    border-radius: 8px !important;
    border: none !important;
    background: #00aeff !important; /* Solid vibrant brand blue */
    color: #ffffff !important; /* White text */
    box-shadow: 0 4px 14px rgba(0, 174, 255, 0.25) !important;
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
    font-size: 22px !important; /* Larger text */
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.3px !important;
    white-space: nowrap !important;
    text-shadow: none !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@media screen and (min-width: 992px) {
    .single-property .viewhomes-property-title-row .viewhomes-property-top-title {
        width: calc(66.666667% - 12px) !important;
        min-width: calc(66.666667% - 12px) !important;
        max-width: calc(66.666667% - 12px) !important;
    }
    .single-property .viewhomes-property-top-price {
        width: calc(33.333333% - 52px) !important;
        min-width: calc(33.333333% - 52px) !important;
        max-width: calc(33.333333% - 52px) !important;
        margin-left: 20px !important;
        margin-right: 20px !important;
    }

    .single-property .viewhomes-sidebar-contacts .viewhomes-property-top-price {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}


@media screen and (min-width: 768px) and (max-width: 991px) {
    .single-property .viewhomes-property-top-price {
        margin-right: 24px !important; /* Shift left to prevent layout overflow */
    }
}

.single-property .viewhomes-property-top-price:hover {
    background-color: #008ecc !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(0, 142, 204, 0.35) !important;
    transform: translateY(-2px) !important;
}

.single-property .property-header-wrap {
    gap: 24px !important;
}

.single-property .property-title-wrap {
    min-width: 0 !important;
}

.single-property .property-price-wrap-container .property-price-wrap,
.single-property .property-header-right .property-price-wrap {
    display: inline-block !important;
    background-color: #00aeff !important; /* Solid brand cyan */
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    box-shadow: 0 4px 14px rgba(0, 174, 255, 0.25) !important;
    margin-top: 0 !important;
    transition: all 0.3s ease !important;
}

.single-property .property-price-wrap-container .property-price-wrap:hover,
.single-property .property-header-right .property-price-wrap:hover {
    background-color: #008ecc !important;
    box-shadow: 0 6px 20px rgba(0, 142, 204, 0.35) !important;
    transform: translateY(-2px) !important;
}

.single-property .property-price-wrap-container .property-price-wrap .item-price,
.single-property .property-header-right .property-price-wrap .item-price {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #ffffff !important; /* White text */
    margin: 0 !important;
    line-height: 1 !important;
}

.single-property .property-labels-wrap .label-type {
    background-color: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    letter-spacing: .5px !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
    height: auto !important;
}

.single-property .property-view .block-wrap,
.single-property .property-section-wrap .block-wrap {
    background-color: #fff !important;
    border-radius: 20px !important;
    padding: 22px 26px !important;
    margin-bottom: 20px !important;
    border: 1px solid #edeeee !important;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, .02) !important;
    transition: all .3s ease-in-out !important;
}

.single-property .property-view .block-title-wrap,
.single-property .property-section-wrap .block-title-wrap {
    border-bottom: none !important;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
    position: relative !important;
}

.single-property .property-view .block-title-wrap::after,
.single-property .property-section-wrap .block-title-wrap::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 45px !important;
    height: 3px !important;
    background-color: var(--viewhomes-property-accent) !important;
    border-radius: 3px !important;
}

.single-property .property-view .block-title-wrap h2,
.single-property .property-view .block-title-wrap h3,
.single-property .property-section-wrap .block-title-wrap h2,
.single-property .property-section-wrap .block-title-wrap h3 {
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.single-property .property-view .block-content-wrap,
.single-property .property-section-wrap .block-content-wrap {
    color: #475569 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.single-property .property-description-wrap .description-content,
.single-property .property-description-wrap .description-content p,
.single-property .elementor-widget-houzez-property-content,
.single-property .elementor-widget-houzez-property-content p,
.single-property .elementor-widget-houzez-property-content li {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #000 !important;
}

.single-property .property-description-wrap .description-content p {
    margin-bottom: 20px !important;
}

.single-property .property-overview-wrap .property-overview-data {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

.single-property .property-overview-wrap .row.g-4 {
    align-items: center !important;
}

.single-property .property-overview-wrap .col-md-8 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
}

.single-property .property-overview-wrap .col-md-4 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin-left: auto !important;
}

.single-property .viewhomes-overview-tools {
    width: auto !important;
    margin: 0 !important;
}

.single-property .viewhomes-overview-tools .property-item-tools {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-property .viewhomes-overview-tools .item-tool span,
.single-property .viewhomes-overview-tools .item-tool > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    border: 1px solid #dbe4ea !important;
    color: #123546 !important;
    background: #fff !important;
}

.single-property .viewhomes-overview-tools .item-tool span:hover,
.single-property .viewhomes-overview-tools .item-tool > span:hover {
    color: #fff !important;
    background: var(--viewhomes-property-accent) !important;
    border-color: var(--viewhomes-property-accent) !important;
}

.single-property .property-overview-wrap .property-overview-data .row {
    background-color: #f8fafc !important;
    border-radius: 12px !important;
    padding: 24px !important;
    border: 1px solid #e2e8f0 !important;
    margin: 0 !important;
    gap: 20px 0 !important;
}

.single-property .property-overview-wrap .property-overview-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    border: none !important;
    padding: 0 !important;
}

/* Uniform icon↔text gap for EVERY overview block (don't rely on Bootstrap .gap-3,
   which can be missing/inconsistent). Keeps the first block identical to the rest. */
.single-property .property-overview-wrap .property-overview-data .col > ul {
    gap: 16px !important;
    margin: 0 !important;
}

.single-property .property-overview-wrap .property-overview-item i {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    background-color: rgba(var(--viewhomes-property-accent-rgb), .08) !important;
    color: var(--viewhomes-property-accent) !important;
    border-radius: 50% !important;
    font-size: 22px !important;
    flex-shrink: 0 !important;
    transition: all .3s ease !important;
}

.single-property .property-overview-wrap .property-overview-item:hover i {
    background-color: var(--viewhomes-property-accent) !important;
    color: #fff !important;
    transform: scale(1.05);
}

.single-property .property-overview-wrap .property-overview-description strong {
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #0f172a !important;
}

.single-property .property-overview-wrap .property-overview-description .hz-meta-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #64748b !important;
}

.single-property .property-overview-wrap .property-overview-item .overview-title {
    font-size: 12px !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    font-weight: 600 !important;
    margin-bottom: 2px !important;
}

.single-property .property-overview-wrap .property-overview-item .overview-value {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.single-property .property-features-wrap .list-unstyled {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 12px 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-property .property-features-wrap .list-unstyled li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 16px !important;
    color: #475569 !important;
    line-height: 1.5 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.single-property .property-features-wrap .list-unstyled li a {
    color: #475569 !important;
}

.single-property .property-features-wrap .list-unstyled li i {
    color: var(--viewhomes-property-accent) !important;
    font-size: 18px !important;
}

.single-property .property-detail-wrap .detail-wrap {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.single-property .property-detail-wrap .list-lined-item,
.single-property .property-address-wrap .list-lined-item {
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 8px 0 !important;
    background: transparent !important;
    font-size: 15px !important;
    color: #475569 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin: 0 !important;
    width: 100% !important;
}

.single-property .property-detail-wrap .list-lined-item strong,
.single-property .property-address-wrap .list-lined-item strong {
    font-weight: 500 !important;
    color: #64748b !important;
}

.single-property .property-detail-wrap .list-lined-item span,
.single-property .property-address-wrap .list-lined-item span {
    font-weight: 600 !important;
    color: #0f172a !important;
}

.single-property .property-detail-wrap a,
.single-property .property-address-wrap a {
    color: var(--viewhomes-property-accent) !important;
}

.single-property .property-detail-wrap ul.list-lined,
.single-property .property-address-wrap ul.list-lined {
    margin-left: -15px !important;
    margin-right: -15px !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

.single-property .property-detail-wrap ul.list-lined > li,
.single-property .property-address-wrap ul.list-lined > li {
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-bottom: 6px !important;
    box-sizing: border-box !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

@media screen and (min-width: 768px) {
    .single-property .property-detail-wrap ul.list-lined > li,
    .single-property .property-address-wrap ul.list-lined > li {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

.single-property .property-banner img,
.single-property .property-banner-item img,
.single-property .hs-gallery-v5-grid-item img,
.single-property .property-banner-grid-wrap img,
.single-property .property-description-wrap img,
.single-property .property-map-wrap img,
.single-property .slick-slide img,
.single-property .item-wrap img,
.single-property .item-wrap {
    border-radius: 20px !important;
    overflow: hidden !important;
}

.single-property .property-banner,
.single-property .property-banner #pills-tabContent,
.single-property .property-banner #pills-gallery,
.single-property .property-banner .top-gallery-section,
.single-property .property-banner .lSSlideOuter {
    height: auto !important;
}

.single-property .property-banner .top-gallery-section.slider-loaded #gallery-featured-placeholder {
    display: none !important;
}

.single-property .property-banner .lSSlideWrapper {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    border-radius: 7px !important;
    overflow: hidden !important;
}

.single-property .property-banner #property-gallery-js,
.single-property .property-banner #property-gallery-js .lslide,
.single-property .property-banner #property-gallery-js .lslide > a {
    height: 100% !important;
}

.single-property .property-banner #property-gallery-js .lslide {
    display: block !important;
}

.single-property .property-banner #property-gallery-js img,
.single-property .property-banner .lSSlideWrapper img,
.single-property .property-banner .lSPager.lSGallery li,
.single-property .property-banner .lSPager.lSGallery li a,
.single-property .property-banner .lSPager.lSGallery li img {
    border-radius: 7px !important;
    overflow: hidden !important;
}

.single-property .property-banner #property-gallery-js img,
.single-property .property-banner .lSSlideWrapper img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
}

.single-property #houzez-single-listing-map-address,
.single-property .leaflet-container,
.single-property .property-map-wrap .block-wrap iframe,
.single-property .property-map-wrap iframe {
    border-radius: 20px !important;
    border: 1px solid #e2e8f0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, .03) !important;
}

.single-property #property-video-wrap .block-wrap,
.single-property .property-video-wrap .block-wrap {
    padding: 0 !important;
    border: none !important;
    border-radius: 15px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.single-property #property-video-wrap .block-content-wrap,
.single-property .property-video-wrap .block-content-wrap,
.single-property #property-video-wrap .block-video-wrap,
.single-property .property-video-wrap .block-video-wrap {
    border-radius: 15px !important;
    overflow: hidden !important;
}

.single-property #property-video-wrap iframe,
.single-property .property-video-wrap iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}

.single-property .description-expandable-content,
.single-property .viewhomes-description-collapsed {
    position: relative !important;
    overflow: hidden !important;
    max-height: 220px;
    transition: max-height .4s cubic-bezier(.25, .8, .25, 1) !important;
}

.single-property .description-expandable-content.expandable::after,
.single-property .viewhomes-description-collapsed.expandable::after {
    content: none !important;
    display: none !important;
}

.single-property .description-expandable-content.expanded::after,
.single-property .viewhomes-description-collapsed.expanded::after {
    opacity: 0 !important;
}

.single-property .viewhomes-view-more-desc {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #00aeff !important; /* Solid brand cyan */
    border: none !important;
    color: #ffffff !important;
    padding: 10px 32px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 30px !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(0, 174, 255, 0.25) !important;
}

.single-property .viewhomes-view-more-desc::after {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg) !important;
    margin-left: 10px !important;
    margin-top: -2px !important;
    vertical-align: middle !important;
    transition: transform 0.3s ease !important;
}

.single-property .expanded + .btn-view-more-wrap .viewhomes-view-more-desc::after {
    transform: rotate(-135deg) !important;
}

.single-property .viewhomes-view-more-desc:hover {
    background-color: #008ecc !important;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(0, 142, 204, 0.35) !important;
    transform: translateY(-2px) !important;
}

.single-property .btn-primary,
.single-property .hz-btn-map,
.single-property .btn-primary-outlined:hover,
.single-property .btn-primary-outlined:focus {
    background-color: var(--viewhomes-property-accent) !important;
    border-color: var(--viewhomes-property-accent) !important;
    color: #fff !important;
}

.single-property .btn-primary:hover,
.single-property .hz-btn-map:hover,
.single-property .btn-primary:focus,
.single-property .hz-btn-map:focus {
    background-color: var(--viewhomes-property-accent-hover) !important;
    border-color: var(--viewhomes-property-accent-hover) !important;
    color: #fff !important;
}

.single-property input:focus,
.single-property select:focus,
.single-property textarea:focus,
.single-property .form-control:focus,
.single-property .bootstrap-select .dropdown-toggle:focus,
.single-property .bootstrap-select.show > .btn {
    border-color: var(--viewhomes-property-accent) !important;
    box-shadow: 0 0 0 3px rgba(var(--viewhomes-property-accent-rgb), .15) !important;
}

.fancybox__container {
    --fancybox-bg: rgba(15, 23, 42, .94);
    z-index: 999999 !important;
}

.fancybox__thumbs .carousel__slide .fancybox__thumb::after {
    border-color: var(--viewhomes-property-accent) !important;
}

@media screen and (max-width: 768px) {
    .single-property .property-view .block-wrap,
    .single-property .property-section-wrap .block-wrap {
        border-radius: 12px !important;
        padding: 16px !important;
        margin-bottom: 16px !important;
    }

    .single-property .property-view .block-title-wrap h2,
    .single-property .property-view .block-title-wrap h3,
    .single-property .property-section-wrap .block-title-wrap h2,
    .single-property .property-section-wrap .block-title-wrap h3 {
        font-size: 21px !important;
    }

    .single-property .page-title-mobile {
        font-size: 24px !important;
    }

    .single-property .viewhomes-property-top-title {
        font-size: 26px !important;
        margin-bottom: 14px !important;
    }

    .single-property .viewhomes-property-title-row {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-bottom: 16px !important;
        padding: 16px !important;
    }

    .single-property .viewhomes-property-title-row .viewhomes-property-top-title {
        margin-bottom: 0 !important;
    }

    .single-property .viewhomes-property-top-price {
        width: 100% !important;
        justify-content: flex-start !important;
        min-height: 48px !important;
        padding: 11px 18px !important;
        font-size: 20px !important;
    }

    .single-property .property-price-wrap-container .property-price-wrap .item-price,
    .single-property .property-header-right .property-price-wrap .item-price {
        font-size: 22px !important;
    }
}

/* Custom Sidebar Cards for ViewHomes single property */
.single-property .viewhomes-sidebar-contacts {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

/* Hide price badge inside the sidebar (it is now cloned to the title row) */
.single-property .viewhomes-sidebar-contacts .viewhomes-sidebar-price {
    display: none !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card {
    background-color: #fff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px -3px rgba(15, 23, 42, .03) !important;
    overflow: hidden !important;
    transition: all .3s ease-in-out !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card:hover {
    box-shadow: 0 8px 24px -4px rgba(15, 23, 42, .06) !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card-header {
    background-color: #1f4c71 !important;
    padding: 12px 20px !important;
    border-radius: 8px 8px 0 0 !important;
    margin-bottom: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card-header h3 {
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card-body {
    background-color: #fff !important;
    border: none !important;
    border-radius: 0 0 8px 8px !important;
    padding: 20px 20px !important;
    box-shadow: none !important;
}

.single-property .viewhomes-sidebar-contacts .contact-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
    font-size: 15px !important;
    color: #0f172a !important;
    font-weight: 600 !important;
}

.single-property .viewhomes-sidebar-contacts .contact-item i {
    font-size: 16px !important;
    width: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.single-property .viewhomes-sidebar-contacts .contacts-card .viewhomes-contact-icon {
    position: relative !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    font-size: 14px !important;
}

.single-property .viewhomes-sidebar-contacts .contacts-card .viewhomes-phone-icon {
    background: linear-gradient(135deg, #2196F3 0%, #1f4c71 100%) !important;
    box-shadow: 0 7px 16px rgba(33, 150, 243, .24) !important;
}

.single-property .viewhomes-sidebar-contacts .contacts-card .viewhomes-whatsapp-icon {
    background: linear-gradient(135deg, #25D366 0%, #14984a 100%) !important;
    box-shadow: 0 7px 16px rgba(37, 211, 102, .22) !important;
}

.single-property .viewhomes-sidebar-contacts .contacts-card .viewhomes-contact-icon::after {
    content: "" !important;
    position: absolute !important;
    inset: -3px !important;
    border: 1px solid rgba(33, 150, 243, .18) !important;
    border-radius: inherit !important;
    pointer-events: none !important;
}

.single-property .viewhomes-sidebar-contacts .contacts-card .viewhomes-whatsapp-icon::after {
    border-color: rgba(37, 211, 102, .2) !important;
}

.single-property .viewhomes-sidebar-contacts .contact-link {
    color: #0f172a !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
}

.single-property .viewhomes-sidebar-contacts .contact-link:hover {
    color: #2c5270 !important;
}

/* Form controls styling */
.single-property .viewhomes-sidebar-contacts .form-group {
    margin-bottom: 14px !important;
}

.single-property .viewhomes-sidebar-contacts .form-control {
    background-color: #fff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #0f172a !important;
    height: 44px !important;
    transition: all 0.25s ease !important;
}

.single-property .viewhomes-sidebar-contacts .form-control::placeholder {
    color: #94a3b8 !important;
    opacity: 1 !important;
}

.single-property .viewhomes-sidebar-contacts .form-control:focus {
    border-color: #2c5270 !important;
    box-shadow: 0 0 0 3px rgba(44, 82, 112, 0.1) !important;
}

/* Message field wrapping styling */
.single-property .viewhomes-sidebar-contacts .viewhomes-textarea-wrapper {
    position: relative !important;
}

.single-property .viewhomes-sidebar-contacts textarea.form-control {
    min-height: 100px !important;
    height: 100px !important;
    resize: none !important;
    padding: 12px 14px !important;
}

.single-property .viewhomes-sidebar-contacts button.houzez_agent_property_form {
    background-color: #2196F3 !important;
    border: 1.5px solid #3d9eea !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 44px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.single-property .viewhomes-sidebar-contacts button.houzez_agent_property_form:hover {
    background-color: #1a3346 !important;
    border-color: #1a3346 !important;
}

.single-property .viewhomes-sidebar-contacts button.houzez_agent_property_form i {
    font-size: 12px !important;
    color: #fff !important;
}

@media screen and (max-width: 991px) {
    .single-property .viewhomes-sidebar-contacts {
        margin-top: 24px !important;
    }
}

/* Refined Description Block Border Accent & Wrapping */
.single-property .property-description-wrap {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.single-property .property-description-wrap .block-wrap,
.single-property .elementor-widget-houzez-property-content {
    position: relative !important;
    background-color: #ffffff !important;
    border: 1px solid #edeeee !important;
    border-radius: 20px !important;
    padding: 24px 28px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, .02) !important;
    overflow: hidden !important;
    transition: padding-bottom 0.3s ease !important;
}

.single-property .property-description-wrap .block-wrap.vh-card-expanded,
.single-property .elementor-widget-houzez-property-content.vh-card-expanded {
    padding-bottom: 40px !important;
}

.single-property .btn-view-more-wrap {
    margin-bottom: 10px !important;
}

.single-property .property-description-wrap .block-wrap::before,
.single-property .elementor-widget-houzez-property-content::before {
    content: none !important;
    display: none !important;
}

/* Reset Elementor Column/Container styling to prevent double borders and remove outer white spaces */
.single-property .elementor-column:has(.elementor-widget-houzez-property-content),
.single-property .elementor-column:has(.elementor-widget-houzez-property-content) > .elementor-widget-wrap,
.single-property .e-con:has(> .elementor-widget-houzez-property-content),
.single-property .e-con:has(> .e-con-inner > .elementor-widget-houzez-property-content),
.single-property .e-con-inner:has(> .elementor-widget-houzez-property-content) {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Typography styles for premium readability inside the description card */
.single-property .property-description-wrap h1,
.single-property .property-description-wrap h2,
.single-property .property-description-wrap h3,
.single-property .elementor-widget-houzez-property-content h1,
.single-property .elementor-widget-houzez-property-content h2,
.single-property .elementor-widget-houzez-property-content h3 {
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
    font-weight: 800 !important;
    color: #0f2a44 !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    line-height: 1.35 !important;
}

.single-property .property-description-wrap h2,
.single-property .elementor-widget-houzez-property-content h2 {
    font-size: 22px !important;
}

.single-property .property-description-wrap p,
.single-property .elementor-widget-houzez-property-content p {
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #334155 !important; /* Premium dark slate */
    margin-bottom: 16px !important;
}

.single-property .property-description-wrap li,
.single-property .elementor-widget-houzez-property-content li {
    font-family: var(--viewhomes-site-font, 'Manrope', Arial, sans-serif) !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #334155 !important;
}

/* Align Description and Video blocks perfectly with other columns (remove container paddings/margins) */
.single-property .elementor-column:has(.elementor-widget-houzez-property-content),
.single-property .elementor-column:has(#property-video-wrap),
.single-property .elementor-column:has(.property-video-wrap),
.single-property .elementor-column:has(.elementor-widget-houzez-property-section-video) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.single-property .elementor-widget-wrap:has(> .elementor-widget-houzez-property-content),
.single-property .elementor-widget-wrap:has(> #property-video-wrap),
.single-property .elementor-widget-wrap:has(> .property-video-wrap),
.single-property .elementor-widget-wrap:has(> .elementor-widget-houzez-property-section-video) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.single-property .elementor-widget-houzez-property-content,
.single-property #property-video-wrap,
.single-property .property-video-wrap,
.single-property .elementor-widget-houzez-property-section-video {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.single-property .elementor-widget-houzez-property-section-video .block-wrap {
    padding: 0 !important;
    border: none !important;
    border-radius: 15px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* Contact Form 7 Integration & Styling */
.single-property .viewhomes-sidebar-contacts .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-form {
    margin: 0 !important;
    padding: 0 !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-submit,
.single-property .viewhomes-sidebar-contacts button.houzez_agent_property_form {
    background-color: #2196F3 !important;
    border: 1.5px solid #3d9eea !important;
    border-radius: 8px !important;
    color: #fff !important;
    height: 44px !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    width: 100% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 14px rgba(0, 174, 255, 0.25) !important;
    transition: all 0.3s ease !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-submit i,
.single-property .viewhomes-sidebar-contacts button.houzez_agent_property_form i {
    margin-right: 8px !important;
    color: #fff !important;
    font-size: 14px !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-submit:hover,
.single-property .viewhomes-sidebar-contacts button.houzez_agent_property_form:hover {
    background-color: #1976D2 !important;
    border-color: #2196F3 !important;
    box-shadow: 0 6px 20px rgba(33, 150, 243, 0.35) !important;
    transform: translateY(-2px) !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-not-valid-tip {
    font-size: 12px !important;
    color: #ef4444 !important;
    margin-top: 4px !important;
    font-weight: 500 !important;
    display: block !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-response-output {
    margin: 14px 0 0 !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    border: 2px solid #cbd5e1 !important;
    background-color: #f8fafc !important;
    color: #475569 !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-mail-sent-ok {
    border-color: #22c55e !important;
    background-color: #f0fdf4 !important;
    color: #166534 !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-validation-errors,
.single-property .viewhomes-sidebar-contacts .wpcf7-mail-sent-ng {
    border-color: #ef4444 !important;
    background-color: #fef2f2 !important;
    color: #991b1b !important;
}

/* ============================================================
   ViewHomes: Footer Icon List Fix (Elementor CSS Cache Failures)
   Forces icons to remain small and list items inline
   ============================================================ */
.elementor-widget-icon-list .elementor-icon-list-items {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-widget-icon-list .elementor-icon-list-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    list-style: none !important;
    list-style-type: none !important;
}

.elementor-widget-icon-list .elementor-icon-list-item::before {
    display: none !important; /* Hide list bullets */
}

.elementor-widget-icon-list .elementor-icon-list-item a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    width: 100% !important;
}

.elementor-widget-icon-list .elementor-icon-list-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 24px !important;
    height: 24px !important;
}

.elementor-widget-icon-list .elementor-icon-list-icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
    display: block !important;
}

.elementor-widget-icon-list .elementor-icon-list-text {
    font-size: 14px !important;
    line-height: 1.5 !important;
    display: inline-block !important;
}

/* ============================================================
   ViewHomes: Footer Contact Icons Custom Color (#3A99B0)
   ============================================================ */
footer .elementor-widget-icon-list .elementor-icon-list-icon svg,
#footer .elementor-widget-icon-list .elementor-icon-list-icon svg,
.footer-top-wrap .elementor-widget-icon-list .elementor-icon-list-icon svg,
.footer-bottom-wrap .elementor-widget-icon-list .elementor-icon-list-icon svg,
.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-icon svg {
    color: #3A99B0 !important;
    fill: #3A99B0 !important;
}

/* ============================================================
   ViewHomes: Similar Properties Card Price Styling ("Другие предложения")
   ============================================================ */
.similar-property-wrap .item-price,
.similar-property-wrap .item-price-wrap,
.similar-property-wrap .property-price-wrap,
.similar-property-wrap .item-wrap .item-price {
    font-size: 24px !important;
    font-family: var(--viewhomes-site-font, 'Unbounded', sans-serif) !important;
    font-weight: 800 !important;
}

/* ============================================================
   ViewHomes: Injected Overview Tools Styling (Видео + В избранное)
   ============================================================ */

/* Container row */
.single-property .vh-tools-full-width-cell {
    display: flex !important;
    align-items: center !important;
    padding: 6px 0 !important;
}

.single-property .vh-tools-full-width-cell .vh-tools-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    align-items: stretch !important;
    min-width: 260px !important; /* fallback — CSS controls sizing, not JS */
}

/* Shared base styles */
.single-property .viewhomes-custom-fav-btn,
.single-property .viewhomes-custom-video-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    height: 50px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    border: none !important;
    background: linear-gradient(135deg, #16b8ff 0%, #0375d8 100%) !important;
    color: #ffffff !important;
    font-family: var(--viewhomes-site-font, 'Unbounded', sans-serif) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    box-shadow: 0 14px 30px rgba(3, 117, 216, 0.20), 0 1px 4px rgba(0,0,0,0.08) !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    flex: 1 1 0 !important;   /* равная ширина у обеих */
    min-width: 0 !important;
    letter-spacing: 0.01em !important;
}

.single-property .viewhomes-custom-video-btn {
    background: linear-gradient(135deg, #ff273f 0%, #c70024 100%) !important;
    box-shadow: 0 14px 30px rgba(255, 39, 63, 0.22), 0 1px 4px rgba(0,0,0,0.08) !important;
}

.single-property .viewhomes-custom-fav-btn {
    background: linear-gradient(135deg, #16b8ff 0%, #0375d8 100%) !important;
    box-shadow: 0 14px 30px rgba(3, 117, 216, 0.20), 0 1px 4px rgba(0,0,0,0.08) !important;
}

/* Play SVG icon in video button */
.single-property .viewhomes-custom-video-btn .viewhomes-play-icon {
    flex-shrink: 0 !important;
    fill: currentColor !important;
    width: 14px !important;
    height: 14px !important;
    padding: 5px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #e60023 !important;
    box-sizing: content-box !important;
    transition: transform 0.22s ease !important;
}

/* Video button hover */
.single-property .viewhomes-custom-video-btn:hover {
    background: linear-gradient(135deg, #ff4056 0%, #ad001d 100%) !important;
    box-shadow: 0 16px 34px rgba(255, 39, 63, 0.28), 0 2px 8px rgba(0,0,0,0.10) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

/* Favorites button hover */
.single-property .viewhomes-custom-fav-btn:hover {
    background: linear-gradient(135deg, #24c2ff 0%, #006bc6 100%) !important;
    box-shadow: 0 16px 34px rgba(3, 117, 216, 0.26), 0 2px 8px rgba(0,0,0,0.10) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

/* Icons */
.single-property .viewhomes-custom-fav-btn i,
.single-property .viewhomes-custom-video-btn i {
    font-size: 16px !important;
    color: #ffffff !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.18) !important;
    transition: transform 0.25s ease !important;
}

.single-property .viewhomes-custom-video-btn:hover i,
.single-property .viewhomes-custom-video-btn:hover .viewhomes-play-icon {
    transform: scale(1.2) !important;
}

.single-property .viewhomes-custom-fav-btn:hover i {
    transform: scale(1.25) !important;
}

/* Active state — already in favorites */
.single-property .viewhomes-custom-fav-btn.active {
    background: linear-gradient(135deg, #ff4769 0%, #bb163f 100%) !important;
    border: none !important;
    color: #ffffff !important;
    box-shadow: 0 14px 30px rgba(187, 22, 63, 0.22), 0 1px 4px rgba(0,0,0,0.08) !important;
}

.single-property .viewhomes-custom-fav-btn.active i {
    background: #ffffff !important;
    color: #d71d4b !important;
}

.single-property .viewhomes-custom-fav-btn.active:hover {
    background: linear-gradient(135deg, #ff5a78 0%, #a90f34 100%) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 16px 34px rgba(187, 22, 63, 0.28), 0 2px 8px rgba(0,0,0,0.10) !important;
}

.single-property .viewhomes-custom-fav-btn.active:hover i {
    color: #d71d4b !important;
}

/* Desktop: buttons sit inline with stats row */
@media (min-width: 768px) {
    /* Stats row: single horizontal line; kill Bootstrap negative margins so
       nothing overflows the card padding */
    .single-property .property-overview-wrap .property-overview-data.row,
    .single-property .property-overview-wrap .property-overview-data > .row {
        gap: 0 16px !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    /* Stats items: grow equally so they spread evenly across the LEFT part */
    .single-property .property-overview-wrap .property-overview-data.row > *:not(.vh-tools-full-width-cell),
    .single-property .property-overview-wrap .property-overview-data > .row > *:not(.vh-tools-full-width-cell) {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Buttons cell: shrink-to-content, capped, right-aligned. JS sets exact px
       = width of the sidebar column above (so it's never wider than it). */
    .single-property .property-overview-wrap .vh-tools-full-width-cell {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: 46% !important;
        margin-left: auto !important;
        padding: 0 !important;
        align-self: center !important;
    }

    /* Inner wrapper fills the cell, buttons stretch equally to fill it */
    .single-property .property-overview-wrap .vh-tools-full-width-cell .vh-tools-inner {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Compact stats items on desktop */
    .single-property .property-overview-wrap .property-overview-item {
        gap: 10px !important;
    }
    .single-property .property-overview-wrap .property-overview-item i {
        width: 36px !important;
        height: 36px !important;
        font-size: 15px !important;
        border-radius: 8px !important;
    }
    .single-property .property-overview-wrap .property-overview-description strong {
        font-size: 15px !important;
    }
    .single-property .property-overview-wrap .property-overview-description .hz-meta-label {
        font-size: 11px !important;
    }
}

/* Wide desktop: keep stats readable as 3 + 3 while tools keep their own width. */
@media (min-width: 1200px) {
    .single-property .property-overview-wrap .property-overview-data.row,
    .single-property .property-overview-wrap .property-overview-data > .row {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(130px, 1fr)) minmax(360px, auto) !important;
        grid-auto-flow: row !important;
        gap: 18px 24px !important;
        align-items: center !important;
        flex-wrap: initial !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row > *:not(.vh-tools-full-width-cell),
    .single-property .property-overview-wrap .property-overview-data > .row > *:not(.vh-tools-full-width-cell) {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row > *:not(.vh-tools-full-width-cell):nth-child(3n+1),
    .single-property .property-overview-wrap .property-overview-data > .row > *:not(.vh-tools-full-width-cell):nth-child(3n+1) {
        grid-column: 1 !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row > *:not(.vh-tools-full-width-cell):nth-child(3n+2),
    .single-property .property-overview-wrap .property-overview-data > .row > *:not(.vh-tools-full-width-cell):nth-child(3n+2) {
        grid-column: 2 !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row > *:not(.vh-tools-full-width-cell):nth-child(3n+3),
    .single-property .property-overview-wrap .property-overview-data > .row > *:not(.vh-tools-full-width-cell):nth-child(3n+3) {
        grid-column: 3 !important;
    }

    .single-property .property-overview-wrap .vh-tools-full-width-cell {
        grid-column: 4 !important;
        grid-row: 1 / span 2 !important;
        align-self: center !important;
        justify-self: stretch !important;
        margin-left: 0 !important;
        padding: 0 !important;
    }

    .single-property .property-overview-wrap .vh-tools-full-width-cell .vh-tools-inner {
        min-width: 360px !important;
        width: 100% !important;
    }

    .single-property .viewhomes-custom-fav-btn,
    .single-property .viewhomes-custom-video-btn {
        min-width: 170px !important;
    }
}

/* Wide desktop: when exactly 4 stats are present, keep all of them in one equal row. */
@media (min-width: 1200px) {
    .single-property .property-overview-wrap .property-overview-data.row.viewhomes-overview-count-4,
    .single-property .property-overview-wrap .property-overview-data > .row.viewhomes-overview-count-4 {
        grid-template-columns: repeat(4, minmax(116px, 1fr)) !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row.viewhomes-overview-count-4.viewhomes-overview-has-tools,
    .single-property .property-overview-wrap .property-overview-data > .row.viewhomes-overview-count-4.viewhomes-overview-has-tools {
        grid-template-columns: repeat(4, minmax(116px, 1fr)) minmax(320px, auto) !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row.viewhomes-overview-count-4 > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools):nth-child(1),
    .single-property .property-overview-wrap .property-overview-data > .row.viewhomes-overview-count-4 > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools):nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row.viewhomes-overview-count-4 > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools):nth-child(2),
    .single-property .property-overview-wrap .property-overview-data > .row.viewhomes-overview-count-4 > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools):nth-child(2) {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row.viewhomes-overview-count-4 > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools):nth-child(3),
    .single-property .property-overview-wrap .property-overview-data > .row.viewhomes-overview-count-4 > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools):nth-child(3) {
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row.viewhomes-overview-count-4 > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools):nth-child(4),
    .single-property .property-overview-wrap .property-overview-data > .row.viewhomes-overview-count-4 > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools):nth-child(4) {
        grid-column: 4 !important;
        grid-row: 1 !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row.viewhomes-overview-count-4 .vh-tools-full-width-cell,
    .single-property .property-overview-wrap .property-overview-data > .row.viewhomes-overview-count-4 .vh-tools-full-width-cell {
        grid-column: 5 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: stretch !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    /* Overview row columns: full width on mobile (both col-md-8 and col-md-4
       otherwise split 50/50 at xs breakpoint since col-sm-12 only fires at ≥576px) */
    .single-property .property-overview-wrap .row.g-4 > .col-md-8,
    .single-property .property-overview-wrap .row.g-4 > .col-md-4,
    .single-property .property-overview-wrap .row.g-4 > .col-sm-12 {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Buttons container: full width, no min-width constraint */
    .single-property .vh-tools-full-width-cell {
        width: 100% !important;
    }
    .single-property .vh-tools-full-width-cell .vh-tools-inner {
        min-width: 0 !important;
        width: 100% !important;
    }

    /* Button sizes on mobile */
    .single-property .viewhomes-custom-fav-btn,
    .single-property .viewhomes-custom-video-btn {
        gap: 7px !important;
        height: 44px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }

    .single-property .viewhomes-custom-fav-btn i {
        width: 22px !important;
        height: 22px !important;
        font-size: 14px !important;
    }

    .single-property .viewhomes-custom-video-btn .viewhomes-play-icon {
        width: 12px !important;
        height: 12px !important;
        padding: 5px !important;
    }

    /* "ID объекта" → "ID" (shorter label on mobile only).
       Note: font-size:0 alone is not reliable here — some mobile browsers
       auto-boost very small text back up to a readable size ("font boosting"),
       which made the original "ID объекта" text reappear next to the "ID"
       we add below, showing as the duplicated "ID объектаID". Forcing the
       color to transparent as well guarantees the original text stays
       invisible even if its rendered size gets boosted. */
    .single-property .property-overview-wrap .property-overview-description.h-property-id .hz-meta-label {
        font-size: 1px !important;
        line-height: 1px !important;
        color: transparent !important;
        text-shadow: none !important;
    }
    .single-property .property-overview-wrap .property-overview-description.h-property-id .hz-meta-label::after {
        content: "ID";
        display: inline-block;
        font-size: 13px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
        color: #64748b !important;
    }
}

/* Hide the features section ("Характеристики") entirely */
.single-property .elementor-widget-houzez-property-section-features,
.single-property .property-features-wrap {
    display: none !important;
}

/* ViewHomes: final sidebar color overrides */
.single-property .viewhomes-sidebar-contacts .viewhomes-card-header {
    background-color: #1f4c71 !important;
    padding: 12px 20px !important;
    border-radius: 8px 8px 0 0 !important;
    margin-bottom: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-submit,
.single-property .viewhomes-sidebar-contacts button.houzez_agent_property_form,
.single-property .viewhomes-sidebar-contacts input[type="submit"],
.single-property .viewhomes-sidebar-contacts button[type="submit"] {
    background-color: #2196F3 !important;
    border: 1.5px solid #3d9eea !important;
    color: #fff !important;
}

/* ViewHomes: mobile property page overflow and header/content fit */
@media screen and (max-width: 767.98px) {
    .single-property,
    .single-property #main-wrap,
    .single-property .main-wrap,
    .single-property .container,
    .single-property .container-fluid,
    .single-property .viewhomes-property-wrap,
    .single-property .property-top-wrap,
    .single-property .property-view,
    .single-property .property-section-wrap,
    .single-property .mobile-top-wrap,
    .single-property .mobile-property-title,
    .single-property .block-wrap,
    .single-property .elementor,
    .single-property .elementor-section,
    .single-property .elementor-container,
    .single-property .elementor-widget-wrap,
    .single-property .e-con,
    .single-property .e-con-inner {
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow-x: clip !important;
    }

    .single-property .container,
    .single-property .container-fluid,
    .single-property .mobile-property-title,
    .single-property .property-view .block-wrap,
    .single-property .property-section-wrap .block-wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .single-property .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
    }

    .single-property [class*="col-"] {
        max-width: 100% !important;
    }

    .single-property .mobile-property-title.block-wrap {
        margin: 0 !important;
        padding-top: 28px !important;
        padding-bottom: 20px !important;
        border: 0 !important;
        background: #fff !important;
    }

    .single-property .page-title,
    .single-property .page-title-mobile,
    .single-property .viewhomes-property-title-row,
    .single-property .viewhomes-property-top-title {
        width: 100% !important;
        max-width: calc(100vw - 32px) !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        box-sizing: border-box !important;
    }

    .single-property .page-title-mobile,
    .single-property .page-title h1,
    .single-property .viewhomes-property-title-row .viewhomes-property-top-title {
        display: block !important;
        font-size: clamp(25px, 7.2vw, 28px) !important;
        line-height: 1.16 !important;
        letter-spacing: 0 !important;
        margin: 0 0 16px !important;
        color: #0f2a44 !important;
    }

    .single-property .viewhomes-property-title-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        margin-bottom: 18px !important;
        overflow: hidden !important;
    }

    .single-property .item-price-wrap,
    .single-property .property-price-wrap-container,
    .single-property .property-header-right,
    .single-property .viewhomes-property-top-price {
        width: 100% !important;
        max-width: calc(100vw - 32px) !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .single-property .item-price-wrap {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    .single-property .item-price-wrap li,
    .single-property .item-price,
    .single-property .viewhomes-property-top-price {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 48px !important;
        padding: 10px 18px !important;
        border-radius: 8px !important;
        background: #00aeff !important;
        color: #fff !important;
        box-shadow: 0 4px 14px rgba(0, 174, 255, 0.25) !important;
        font-size: clamp(20px, 6vw, 24px) !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        box-sizing: border-box !important;
    }

    .single-property .property-banner,
    .single-property .property-banner-inner,
    .single-property .listing-image-wrap,
    .single-property .lSSlideOuter,
    .single-property .lSSlideWrapper,
    .single-property .slick-list {
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        touch-action: pan-y pinch-zoom;
    }

    /* LightSlider and Slick set a wide inline width on their moving tracks. */
    .single-property #property-gallery-js,
    .single-property .property-gallery-js,
    .single-property .slick-track {
        max-width: none !important;
        overflow: visible !important;
        touch-action: pan-y pinch-zoom;
    }

    .single-property .property-banner img,
    .single-property #property-gallery-js img,
    .single-property .property-gallery img {
        max-width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }

    .single-property .viewhomes-sidebar-contacts,
    .single-property .viewhomes-sidebar-contacts .viewhomes-card,
    .single-property .viewhomes-sidebar-contacts .viewhomes-card-body {
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .single-property .viewhomes-sidebar-contacts a,
    .single-property .viewhomes-sidebar-contacts .viewhomes-contact-value {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}

/* ViewHomes: Dark Concierge Refined sidebar */
.single-property .viewhomes-sidebar-contacts {
    --vh-sidebar-deep: #0b2735;
    --vh-sidebar-navy: #123f53;
    --vh-sidebar-aqua: #22d1ff;
    --vh-sidebar-blue: #00a9f2;
    gap: 14px !important;
    padding: 16px !important;
    border: 1px solid rgba(255, 255, 255, .11) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 18% 0, rgba(39, 208, 255, .18), transparent 38%),
        linear-gradient(145deg, var(--vh-sidebar-deep), var(--vh-sidebar-navy)) !important;
    color: #fff !important;
    box-shadow: 0 30px 70px rgba(7, 27, 47, .22) !important;
    overflow: hidden !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-sidebar-price {
    display: block !important;
    margin: 0 !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-property-top-price {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    min-height: 74px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, var(--vh-sidebar-aqua), var(--vh-sidebar-blue)) !important;
    color: #fff !important;
    box-shadow: 0 18px 42px rgba(0, 174, 255, .26) !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-property-top-price:hover {
    transform: translateY(-1px) !important;
    background: linear-gradient(135deg, #35d8ff, #008fd6) !important;
    box-shadow: 0 20px 46px rgba(0, 174, 255, .3) !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card {
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .075) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card:hover {
    box-shadow: none !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card-header {
    padding: 15px 17px 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card-header h3 {
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-card-body {
    padding: 10px 17px 17px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.single-property .viewhomes-sidebar-contacts .contact-item {
    gap: 12px !important;
    min-height: 42px !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}

.single-property .viewhomes-sidebar-contacts .contacts-card .viewhomes-contact-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border: 1px solid rgba(255, 255, 255, .3) !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 13px !important;
}

.single-property .viewhomes-sidebar-contacts .contacts-card .viewhomes-phone-icon {
    background: linear-gradient(135deg, var(--vh-sidebar-aqua), var(--vh-sidebar-blue)) !important;
    box-shadow: 0 9px 20px rgba(0, 174, 255, .22) !important;
}

.single-property .viewhomes-sidebar-contacts .contacts-card .viewhomes-whatsapp-icon {
    background: linear-gradient(135deg, #38e98a, #119b4f) !important;
    box-shadow: 0 9px 20px rgba(37, 211, 102, .2) !important;
}

.single-property .viewhomes-sidebar-contacts .contacts-card .viewhomes-contact-icon::after {
    display: none !important;
}

.single-property .viewhomes-sidebar-contacts .contact-link {
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}

.single-property .viewhomes-sidebar-contacts .contact-link:hover {
    color: #75dcff !important;
}

.single-property .viewhomes-sidebar-contacts .form-group {
    margin-bottom: 11px !important;
}

.single-property .viewhomes-sidebar-contacts .form-control,
.single-property .viewhomes-sidebar-contacts input[type="text"],
.single-property .viewhomes-sidebar-contacts input[type="email"],
.single-property .viewhomes-sidebar-contacts input[type="tel"],
.single-property .viewhomes-sidebar-contacts textarea,
.single-property .viewhomes-sidebar-contacts select {
    width: 100% !important;
    min-height: 46px !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.single-property .viewhomes-sidebar-contacts textarea.form-control,
.single-property .viewhomes-sidebar-contacts textarea {
    min-height: 92px !important;
    height: 92px !important;
}

.single-property .viewhomes-sidebar-contacts .form-control::placeholder,
.single-property .viewhomes-sidebar-contacts input::placeholder,
.single-property .viewhomes-sidebar-contacts textarea::placeholder {
    color: rgba(255, 255, 255, .64) !important;
    opacity: 1 !important;
}

.single-property .viewhomes-sidebar-contacts .form-control:focus,
.single-property .viewhomes-sidebar-contacts input[type="text"]:focus,
.single-property .viewhomes-sidebar-contacts input[type="email"]:focus,
.single-property .viewhomes-sidebar-contacts input[type="tel"]:focus,
.single-property .viewhomes-sidebar-contacts textarea:focus,
.single-property .viewhomes-sidebar-contacts select:focus {
    border-color: rgba(117, 220, 255, .72) !important;
    background: rgba(255, 255, 255, .11) !important;
    box-shadow: 0 0 0 3px rgba(34, 209, 255, .16) !important;
    outline: none !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-submit,
.single-property .viewhomes-sidebar-contacts button.houzez_agent_property_form,
.single-property .viewhomes-sidebar-contacts input[type="submit"],
.single-property .viewhomes-sidebar-contacts button[type="submit"] {
    min-height: 49px !important;
    height: 49px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0b2735 !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .16) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-submit:hover,
.single-property .viewhomes-sidebar-contacts button.houzez_agent_property_form:hover,
.single-property .viewhomes-sidebar-contacts input[type="submit"]:hover,
.single-property .viewhomes-sidebar-contacts button[type="submit"]:hover {
    transform: translateY(-1px) !important;
    background: #f0fbff !important;
    color: #0b2735 !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .2) !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-not-valid-tip {
    color: #ffb4b4 !important;
}

.single-property .viewhomes-sidebar-contacts .wpcf7-response-output {
    border-color: rgba(255, 255, 255, .2) !important;
    background: rgba(255, 255, 255, .08) !important;
    color: rgba(255, 255, 255, .82) !important;
}

@media screen and (max-width: 767.98px) {
    .single-property .viewhomes-sidebar-contacts {
        padding: 13px !important;
        border-radius: 18px !important;
    }

    .single-property .viewhomes-sidebar-contacts .viewhomes-property-top-price {
        min-height: 60px !important;
        font-size: 24px !important;
    }

    .single-property .viewhomes-sidebar-contacts .viewhomes-card-header h3 {
        font-size: 16px !important;
    }

    .single-property .viewhomes-sidebar-contacts .contact-link,
    .single-property .viewhomes-sidebar-contacts .contact-item {
        font-size: 14px !important;
    }
}

/* ViewHomes: final lock, sidebar price is the only property price badge */
.single-property .viewhomes-property-title-row > .viewhomes-property-top-price {
    display: none !important;
}

.single-property .viewhomes-sidebar-contacts .viewhomes-sidebar-price,
.single-property .viewhomes-sidebar-contacts .viewhomes-property-top-price {
    display: flex !important;
}

/* ViewHomes: first-screen gallery and consultation sidebar alignment */
@media screen and (min-width: 992px) {
    .single-property .viewhomes-property-title-row {
        margin-bottom: 30px !important;
    }

    .single-property .elementor-element-40c3a23 {
        align-items: flex-start !important;
        gap: clamp(20px, 2vw, 28px) !important;
        margin-top: 0 !important;
    }

    .single-property .elementor-element-40c3a23 > .elementor-element-9ab0e6c {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .single-property .elementor-element-40c3a23 > .elementor-element-1a9bfb6 {
        flex: 0 0 clamp(360px, 29vw, 430px) !important;
        width: clamp(360px, 29vw, 430px) !important;
        max-width: clamp(360px, 29vw, 430px) !important;
        min-width: 360px !important;
        align-self: flex-start !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .single-property .elementor-element-40c3a23 > .elementor-element-1a9bfb6 > .e-con-inner,
    .single-property .elementor-element-40c3a23 > .elementor-element-1a9bfb6 > .elementor-widget,
    .single-property .elementor-element-40c3a23 > .elementor-element-1a9bfb6 > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .single-property .elementor-element-9d8a104,
    .single-property .elementor-element-9d8a104 > .elementor-widget-container,
    .single-property .hs-gallery-v2-wrap,
    .single-property .property-banner {
        margin-top: 0 !important;
    }

    .single-property .viewhomes-sidebar-contacts {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199.98px) {
    .single-property .elementor-element-40c3a23 {
        gap: 18px !important;
    }

    .single-property .elementor-element-40c3a23 > .elementor-element-1a9bfb6 {
        flex-basis: 350px !important;
        width: 350px !important;
        max-width: 350px !important;
        min-width: 350px !important;
    }
}

/* ViewHomes: property overview selected option 05 - Aqua Tiles */
.single-property .property-overview-wrap .property-overview-data.row,
.single-property .property-overview-wrap .property-overview-data > .row {
    padding: 14px !important;
    gap: 14px !important;
    border: 1px solid rgba(0, 174, 255, 0.16) !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #ffffff, #f0faff) !important;
    box-shadow: 0 22px 58px rgba(8, 31, 53, 0.08) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
    overflow: hidden !important;
}

.single-property .property-overview-wrap .property-overview-data.row > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools),
.single-property .property-overview-wrap .property-overview-data > .row > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools) {
    min-height: 76px !important;
    padding: 0 !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255, 255, 255, 0.86) !important;
    background: #ffffff !important;
    box-shadow: 0 10px 25px rgba(8, 31, 53, 0.05) !important;
}

.single-property .property-overview-wrap .property-overview-data .col > ul {
    width: 100% !important;
    min-height: 76px !important;
    padding: 14px !important;
    gap: 12px !important;
}

.single-property .property-overview-wrap .property-overview-item i {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    border-radius: 10px !important;
    background: #13baff !important;
    color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(19, 186, 255, 0.18) !important;
}

.single-property .property-overview-wrap .property-overview-description strong {
    color: #061b31 !important;
    font-size: 16px !important;
    font-weight: 950 !important;
}

.single-property .property-overview-wrap .property-overview-description .hz-meta-label {
    color: #65758a !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

.single-property .property-overview-wrap .property-overview-item:hover i {
    background: #0a8ee7 !important;
    color: #ffffff !important;
    transform: translateY(-1px) scale(1.04);
}

.single-property .viewhomes-overview-tools {
    display: none !important;
}

.single-property .viewhomes-sidebar-tools {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.single-property .viewhomes-sidebar-tools .vh-tools-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.single-property .viewhomes-sidebar-tools.viewhomes-tools-only-fav .vh-tools-inner {
    grid-template-columns: 1fr !important;
}

.single-property .viewhomes-sidebar-tools .viewhomes-custom-fav-btn,
.single-property .viewhomes-sidebar-tools .viewhomes-custom-video-btn {
    width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
}

.single-property .viewhomes-sidebar-tools.viewhomes-tools-only-fav .viewhomes-custom-fav-btn {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

@media (min-width: 1200px) {
    .single-property .property-overview-wrap .property-overview-data.row,
    .single-property .property-overview-wrap .property-overview-data > .row {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
        grid-auto-flow: row !important;
        align-items: stretch !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools),
    .single-property .property-overview-wrap .property-overview-data > .row > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools) {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}

@media (max-width: 767.98px) {
    .single-property .property-overview-wrap .property-overview-data.row,
    .single-property .property-overview-wrap .property-overview-data > .row {
        padding: 12px !important;
        gap: 8px !important;
        border-radius: 14px !important;
    }

    .single-property .property-overview-wrap .property-overview-data.row > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools),
    .single-property .property-overview-wrap .property-overview-data > .row > *:not(.vh-tools-full-width-cell):not(.viewhomes-overview-tools) {
        min-height: 68px !important;
        border-radius: 11px !important;
    }

    .single-property .property-overview-wrap .property-overview-data .col > ul {
        min-height: 68px !important;
        padding: 9px !important;
        gap: 8px !important;
    }

    .single-property .property-overview-wrap .property-overview-item i {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
        border-radius: 8px !important;
        font-size: 15px !important;
    }

    .single-property .property-overview-wrap .property-overview-description strong {
        font-size: 14px !important;
    }

    .single-property .property-overview-wrap .property-overview-description .hz-meta-label {
        font-size: 10px !important;
    }

    .single-property .property-overview-wrap .property-overview-description.h-property-id .hz-meta-label::after {
        color: #65758a !important;
        font-size: 10px !important;
    }

    .single-property .viewhomes-sidebar-tools {
        margin-top: 10px !important;
    }

    .single-property .viewhomes-sidebar-tools .vh-tools-inner {
        grid-template-columns: 1fr !important;
    }
}

/* ViewHomes: reduce only the numeric property overview values after QA. */
.single-property .property-overview-wrap .property-overview-description strong {
    font-size: 13px !important;
    line-height: 1.05 !important;
}

@media (max-width: 767.98px) {
    .single-property .property-overview-wrap .property-overview-description strong {
        font-size: 11px !important;
    }
}

/* ViewHomes: compact vertical rhythm around the mobile consultation card. */
@media (max-width: 767.98px) {
    .single-property .elementor-element-7c340f5 {
        padding-bottom: 10px !important;
    }

    .single-property .elementor-element-40c3a23 {
        gap: 12px !important;
    }

    .single-property .elementor-element-40c3a23 > .elementor-element-1a9bfb6 {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .single-property .elementor-element-088c211,
    .single-property .elementor-element-54c325c,
    .single-property .elementor-element-434d240,
    .single-property .elementor-element-93aa5fd {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .single-property .elementor-element-93aa5fd {
        gap: 12px !important;
    }

    /* Video is opened from the sidebar button; the empty Elementor card only
       leaves a 244px gap on phones. */
    .single-property .elementor-element-c0aaa38 {
        display: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .single-property .elementor-element-c670767 {
        margin-top: 0 !important;
        padding-top: 6px !important;
    }
}
