/* =========================================================
   Ekosphere Estate — Phase 10 Frontend Cleanup
   Scope: Houzez frontend only, CRM/Backend untouched
   Version: 1.0.3
   ========================================================= */

:root {
    --ee-primary: var(--ek-primary, #00DCFF);
    --ee-primary-dark: var(--ek-primary-dark, #00C0E0);
    --ee-secondary: var(--ek-secondary, #004F4D);
    --ee-ink: var(--ek-ink, #0F172A);
    --ee-muted: var(--ek-text-muted, #4E4E4E);
    --ee-soft: var(--ek-card-soft, #F3F4F6);
    --ee-white: #FFFFFF;
    --ee-neutral: var(--ek-btn-neutral, #555555);
    --ee-neutral-hover: var(--ek-btn-neutral-hover, #000000);
    --ee-whatsapp: var(--ek-whatsapp, #128C7E);
    --ee-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
    --ee-shadow-hover: 0 14px 34px rgba(15, 23, 42, 0.12);
    --ee-border-soft: rgba(0, 79, 77, 0.14);
}

body:not(.wp-admin) {
    color: var(--ee-ink) !important;
    font-family: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
}

/* ---------------------------------------------------------
   1) Listing archive: remove portal noise
   --------------------------------------------------------- */

body:not(.wp-admin) .listing-wrap .page-title-wrap .breadcrumb,
body:not(.wp-admin) .listing-wrap .breadcrumb-wrap,
body:not(.wp-admin) .listing-wrap .listing-tabs,
body:not(.wp-admin) .listing-wrap .listing-switch-view,
body:not(.wp-admin) .listing-wrap .sort-by,
body:not(.wp-admin) .listing-wrap .listing-view-nav,
body:not(.wp-admin) .listing-wrap .item-tools,
body:not(.wp-admin) .listing-wrap .item-buttons-right-wrap,
body:not(.wp-admin) .listing-wrap .item-footer-left-wrap,
body:not(.wp-admin) .listing-wrap .labels-wrap,
body:not(.wp-admin) .listing-wrap .label-featured,
body:not(.wp-admin) .listing-wrap .property-labels-wrap,
body:not(.wp-admin) .listing-wrap .preview_loader,
body:not(.wp-admin) .listing-wrap .modal,
body:not(.wp-admin) .listing-wrap .houzez-modal {
    display: none !important;
}

body:not(.wp-admin) .listing-wrap {
    margin: 36px 0 52px !important;
}

body:not(.wp-admin) .listing-wrap .container {
    max-width: 1280px !important;
}

body:not(.wp-admin) .listing-wrap .page-title-wrap {
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
}

body:not(.wp-admin) .listing-wrap .page-title {
    margin: 0 !important;
    color: var(--ee-ink) !important;
    font-size: clamp(30px, 3.8vw, 48px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
}

body:not(.wp-admin) .listing-tools-wrap,
body:not(.wp-admin) .listing-tools-wrap > .d-flex,
body:not(.wp-admin) .listing-tools-wrap .listing-tabs-wrap {
    min-height: 0 !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ---------------------------------------------------------
   2) Listing cards: calmer Ekosphere look
   --------------------------------------------------------- */

body:not(.wp-admin) .listing-view {
    row-gap: 28px !important;
}

body:not(.wp-admin) .item-listing-wrap,
body:not(.wp-admin) .item-wrap {
    border-radius: 0 !important;
}

body:not(.wp-admin) .item-listing-wrap .item-wrap {
    overflow: hidden !important;
    background: var(--ee-soft) !important;
    border: 1px solid var(--ee-primary) !important;
    box-shadow: var(--ee-shadow) !important;
    transition: box-shadow 140ms ease, border-color 140ms ease !important;
}

body:not(.wp-admin) .item-listing-wrap .item-wrap:hover {
    border-color: var(--ee-primary-dark) !important;
    box-shadow: var(--ee-shadow-hover) !important;
}

body:not(.wp-admin) .item-listing-wrap .item-header {
    overflow: hidden !important;
    background: var(--ee-white) !important;
    border-bottom: 1px solid rgba(0, 220, 255, 0.55) !important;
}

body:not(.wp-admin) .item-listing-wrap .listing-image-wrap,
body:not(.wp-admin) .item-listing-wrap .listing-thumb,
body:not(.wp-admin) .item-listing-wrap .listing-featured-thumb {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

body:not(.wp-admin) .item-listing-wrap .listing-featured-thumb {
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
}

body:not(.wp-admin) .item-listing-wrap .listing-featured-thumb img,
body:not(.wp-admin) .item-listing-wrap .listing-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
    transform: none !important;
}

body:not(.wp-admin) .item-listing-wrap .hover-effect:before,
body:not(.wp-admin) .item-listing-wrap .hover-effect:after,
body:not(.wp-admin) .item-listing-wrap .listing-featured-thumb:before,
body:not(.wp-admin) .item-listing-wrap .listing-featured-thumb:after {
    display: none !important;
}

body:not(.wp-admin) .item-listing-wrap .item-body {
    width: 100% !important;
    padding: 20px !important;
}

body:not(.wp-admin) .item-listing-wrap .item-amenities,
body:not(.wp-admin) .item-listing-wrap .item-price-wrap {
    margin-left: 0 !important;
    padding-left: 0 !important;
    list-style: none !important;
}

body:not(.wp-admin) .item-listing-wrap .h-type {
    width: auto !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    color: var(--ee-secondary) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
}

body:not(.wp-admin) .item-listing-wrap .item-price-wrap {
    margin: 0 0 12px !important;
    gap: 8px !important;
}

body:not(.wp-admin) .item-listing-wrap .item-price,
body:not(.wp-admin) .item-listing-wrap .item-price-wrap li,
body:not(.wp-admin) .item-listing-wrap .item-price-wrap span,
body:not(.wp-admin) .item-listing-wrap .item-price-wrap a {
    color: var(--ee-ink) !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

body:not(.wp-admin) .item-listing-wrap .item-title {
    display: -webkit-box !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 0 10px !important;
    overflow: hidden !important;
    color: var(--ee-ink) !important;
    font-size: 23px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body:not(.wp-admin) .item-listing-wrap .item-title a {
    color: inherit !important;
    font: inherit !important;
    text-decoration: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

body:not(.wp-admin) .item-listing-wrap .item-title a:hover,
body:not(.wp-admin) .item-listing-wrap .item-title a:focus {
    color: var(--ee-secondary) !important;
}

body:not(.wp-admin) .item-listing-wrap .item-address {
    display: block !important;
    margin: 0 0 14px !important;
    color: var(--ee-muted) !important;
    font-size: 13px !important;
    font-style: normal !important;
    line-height: 1.35 !important;
}

body:not(.wp-admin) .item-listing-wrap .item-address i {
    display: none !important;
}

body:not(.wp-admin) .item-listing-wrap .item-amenities-with-icons,
body:not(.wp-admin) .item-listing-wrap .item-amenities:not(:first-child) {
    gap: 8px !important;
}

body:not(.wp-admin) .item-listing-wrap .item-amenities li:not(.h-type) {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    background: var(--ee-white) !important;
    border: 1px solid var(--ee-border-soft) !important;
    border-radius: 0 !important;
    color: var(--ee-ink) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

body:not(.wp-admin) .item-listing-wrap .item-amenities li:not(.h-type) i,
body:not(.wp-admin) .item-listing-wrap .item-amenities li:not(.h-type) img {
    display: none !important;
}

body:not(.wp-admin) .item-listing-wrap .item-amenities-text {
    color: var(--ee-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

body:not(.wp-admin) .item-listing-wrap .item-footer {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 20px 20px !important;
    background: var(--ee-soft) !important;
    border: 0 !important;
}

body:not(.wp-admin) .item-listing-wrap .item-footer-right-wrap,
body:not(.wp-admin) .item-listing-wrap .item-buttons-wrap,
body:not(.wp-admin) .item-listing-wrap .item-buttons-left-wrap {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body:not(.wp-admin) .item-listing-wrap .btn,
body:not(.wp-admin) .item-listing-wrap .btn-item,
body:not(.wp-admin) .ee-listing-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body:not(.wp-admin) .ee-listing-btn-details,
body:not(.wp-admin) .item-listing-wrap .btn-primary-outlined:not(.ee-listing-btn-whatsapp) {
    background: var(--ee-neutral) !important;
    border: 1px solid var(--ee-neutral) !important;
}

body:not(.wp-admin) .ee-listing-btn-details:hover,
body:not(.wp-admin) .item-listing-wrap .btn-primary-outlined:not(.ee-listing-btn-whatsapp):hover {
    background: var(--ee-neutral-hover) !important;
    border-color: var(--ee-neutral-hover) !important;
}

body:not(.wp-admin) .ee-listing-btn-whatsapp {
    background: var(--ee-whatsapp) !important;
    border: 1px solid var(--ee-whatsapp) !important;
}

body:not(.wp-admin) .ee-listing-btn-whatsapp:hover {
    background: var(--ee-neutral-hover) !important;
    border-color: var(--ee-neutral-hover) !important;
}

/* ---------------------------------------------------------
   3) Archive sidebar/search: less portal chrome
   --------------------------------------------------------- */

body:not(.wp-admin) .bt-sidebar-wrap .widget,
body:not(.wp-admin) .sidebar-wrap .widget,
body:not(.wp-admin) .property-search-wrap,
body:not(.wp-admin) .advanced-search-wrap {
    background: var(--ee-soft) !important;
    border: 1px solid var(--ee-primary) !important;
    border-radius: 0 !important;
    box-shadow: var(--ee-shadow) !important;
}

body:not(.wp-admin) .bt-sidebar-wrap .widget-title,
body:not(.wp-admin) .sidebar-wrap .widget-title,
body:not(.wp-admin) .advanced-search-wrap .title,
body:not(.wp-admin) .advanced-search-wrap h2,
body:not(.wp-admin) .advanced-search-wrap h3 {
    color: var(--ee-ink) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body:not(.wp-admin) .advanced-search-wrap .form-control,
body:not(.wp-admin) .advanced-search-wrap .bootstrap-select > .dropdown-toggle,
body:not(.wp-admin) .property-search-wrap .form-control,
body:not(.wp-admin) .property-search-wrap select {
    min-height: 44px !important;
    border: 1px solid rgba(0, 79, 77, 0.24) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ---------------------------------------------------------
   4) Single property: hide heavy Houzez modules
   --------------------------------------------------------- */

body:not(.wp-admin).single-property .property-detail-tools,
body:not(.wp-admin).single-property .property-tools,
body:not(.wp-admin).single-property .property-print,
body:not(.wp-admin).single-property .property-favorite,
body:not(.wp-admin).single-property .property-compare,
body:not(.wp-admin).single-property .property-share,
body:not(.wp-admin).single-property .schedule-tour-wrap,
body:not(.wp-admin).single-property .mortgage-calculator-wrap,
body:not(.wp-admin).single-property .property-reviews-wrap,
body:not(.wp-admin).single-property .walkscore-wrap,
body:not(.wp-admin).single-property .energy-class-wrap,
body:not(.wp-admin).single-property .property-floor-plans-wrap:empty,
body:not(.wp-admin).single-property .similar-property-wrap,
body:not(.wp-admin).single-property .property-contact-agent-wrap .agent-image,
body:not(.wp-admin).single-property .agent-social-media,
body:not(.wp-admin).single-property .agent-list-position,
body:not(.wp-admin).single-property .rating-score-wrap,
body:not(.wp-admin).single-property .property-id-wrap {
    display: none !important;
}

body:not(.wp-admin).single-property .property-title-wrap,
body:not(.wp-admin).single-property .property-overview-wrap,
body:not(.wp-admin).single-property .property-description-wrap,
body:not(.wp-admin).single-property .property-detail-wrap,
body:not(.wp-admin).single-property .property-features-wrap,
body:not(.wp-admin).single-property .property-address-wrap,
body:not(.wp-admin).single-property .property-video-wrap,
body:not(.wp-admin).single-property .property-contact-agent-wrap,
body:not(.wp-admin).single-property .property-form-wrap {
    background: var(--ee-soft) !important;
    border: 1px solid var(--ee-primary) !important;
    border-radius: 0 !important;
    box-shadow: var(--ee-shadow) !important;
}

body:not(.wp-admin).single-property .property-title,
body:not(.wp-admin).single-property h1.property-title {
    color: var(--ee-ink) !important;
    font-size: clamp(32px, 4vw, 52px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
}

body:not(.wp-admin).single-property .item-price-wrap,
body:not(.wp-admin).single-property .property-price,
body:not(.wp-admin).single-property .property-price-wrap {
    color: var(--ee-ink) !important;
    font-weight: 900 !important;
}

body:not(.wp-admin).single-property .block-title-wrap h2,
body:not(.wp-admin).single-property .block-title-wrap h3,
body:not(.wp-admin).single-property .property-section-title,
body:not(.wp-admin).single-property .property-contact-agent-wrap h3 {
    color: var(--ee-ink) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body:not(.wp-admin).single-property .property-overview-data,
body:not(.wp-admin).single-property .detail-wrap,
body:not(.wp-admin).single-property .property-features-wrap li {
    border-radius: 0 !important;
}

body:not(.wp-admin).single-property .btn,
body:not(.wp-admin).single-property button,
body:not(.wp-admin).single-property input[type="submit"] {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body:not(.wp-admin).single-property .btn-primary,
body:not(.wp-admin).single-property input[type="submit"] {
    background: var(--ee-secondary) !important;
    border-color: var(--ee-secondary) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
}

body:not(.wp-admin).single-property .btn-primary:hover,
body:not(.wp-admin).single-property input[type="submit"]:hover {
    background: #000000 !important;
    border-color: #000000 !important;
}

/* ---------------------------------------------------------
   5) Header/footer general cleanup without breaking Elementor
   --------------------------------------------------------- */

body:not(.wp-admin) .header-main-wrap,
body:not(.wp-admin) .main-nav,
body:not(.wp-admin) .footer-wrap {
    box-shadow: none !important;
}

body:not(.wp-admin) .header-v1 .header-main-wrap,
body:not(.wp-admin) .header-v2 .header-main-wrap,
body:not(.wp-admin) .header-v3 .header-main-wrap,
body:not(.wp-admin) .header-v4 .header-main-wrap {
    border-bottom: 1px solid rgba(0, 79, 77, 0.12) !important;
}

body:not(.wp-admin) .logged-in-nav,
body:not(.wp-admin) .header-contact-wrap,
body:not(.wp-admin) .header-social-icons,
body:not(.wp-admin) .compare-property-panel {
    display: none !important;
}

/* ---------------------------------------------------------
   6) Mobile
   --------------------------------------------------------- */

@media (max-width: 991px) {
    body:not(.wp-admin) .listing-wrap {
        margin-top: 28px !important;
    }

    body:not(.wp-admin) .bt-sidebar-wrap,
    body:not(.wp-admin) .sidebar-wrap {
        margin-top: 28px !important;
    }
}

@media (max-width: 767px) {
    body:not(.wp-admin) .listing-wrap .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body:not(.wp-admin) .item-listing-wrap .item-body {
        padding: 18px !important;
    }

    body:not(.wp-admin) .item-listing-wrap .item-title {
        min-height: auto !important;
        max-height: none !important;
        font-size: 22px !important;
    }

    body:not(.wp-admin) .item-listing-wrap .item-footer {
        padding: 0 18px 18px !important;
    }

    body:not(.wp-admin) .item-listing-wrap .item-footer-right-wrap,
    body:not(.wp-admin) .item-listing-wrap .item-buttons-wrap,
    body:not(.wp-admin) .item-listing-wrap .item-buttons-left-wrap {
        grid-template-columns: 1fr !important;
    }
}

/* ---------------------------------------------------------
   Phase 10.1 — Header/Menu Layer Fix
   Problem: Houzez listing cards visually overlay dropdown navigation.
   Fix: keep all header/nav/dropdown layers above property archives.
   --------------------------------------------------------- */

body:not(.wp-admin) .header-main-wrap,
body:not(.wp-admin) .header-desktop,
body:not(.wp-admin) .header-mobile,
body:not(.wp-admin) .main-nav,
body:not(.wp-admin) .navbar,
body:not(.wp-admin) .navbar-nav,
body:not(.wp-admin) .nav-mobile,
body:not(.wp-admin) .houzez-nav-menu-main,
body:not(.wp-admin) .houzez-nav-menu,
body:not(.wp-admin) .elementor-location-header,
body:not(.wp-admin) header.site-header {
    position: relative !important;
    z-index: 99990 !important;
    overflow: visible !important;
}

body:not(.wp-admin) .navbar-nav .dropdown-menu,
body:not(.wp-admin) .main-nav .dropdown-menu,
body:not(.wp-admin) .houzez-nav-menu .sub-menu,
body:not(.wp-admin) .menu .sub-menu,
body:not(.wp-admin) .dropdown-menu,
body:not(.wp-admin) .sub-menu {
    z-index: 99999 !important;
}

body:not(.wp-admin) .listing-wrap,
body:not(.wp-admin) .listing-view,
body:not(.wp-admin) .item-listing-wrap,
body:not(.wp-admin) .item-listing-wrap .item-wrap,
body:not(.wp-admin) .item-listing-wrap .item-header,
body:not(.wp-admin) .item-listing-wrap .item-body,
body:not(.wp-admin) .item-listing-wrap .item-footer,
body:not(.wp-admin) .epf-property-list-wrap,
body:not(.wp-admin) .epf-property-grid,
body:not(.wp-admin) .epf-property-card {
    position: relative !important;
    z-index: 1 !important;
}

body:not(.wp-admin) .item-listing-wrap .item-wrap:hover,
body:not(.wp-admin) .epf-property-card:hover {
    z-index: 2 !important;
}
