#portal-quick-search-wrap { position: relative; z-index: 30; overflow: visible; }
#portal-quick-search-wrap .list-searh-input-wrap-title_wrap { align-items: flex-start; }
#why-portal-quick-search-wrap { position: relative; z-index: 30; overflow: visible; }
#why-portal-quick-search-wrap .list-searh-input-wrap-title_wrap { align-items: flex-start; }
@media (max-width: 1067px) {
    #portal-quick-search-wrap .header-search-radio { flex-wrap: wrap; }
    #why-portal-quick-search-wrap .header-search-radio { flex-wrap: wrap; }
}
/* Match listing: address suggestions = absolute dropdown (no layout jump) */
#portal-quick-search-wrap .listing-address-suggestions {
    position: absolute; left: 0; right: 0; top: 100%; margin-top: 4px;
    background: #fff; border: 1px solid #e5e7eb; border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1); z-index: 200;
    max-height: 260px; overflow-y: auto; display: none;
    text-align: left;
}
#why-portal-quick-search-wrap .listing-address-suggestions {
    position: absolute; left: 0; right: 0; top: 100%; margin-top: 4px;
    background: #fff; border: 1px solid #e5e7eb; border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1); z-index: 200;
    max-height: 260px; overflow-y: auto; display: none;
    text-align: left;
}
#portal-quick-search-wrap .listing-address-suggestions.show { display: block; }
#why-portal-quick-search-wrap .listing-address-suggestions.show { display: block; }
#portal-quick-search-wrap .listing-address-suggestions .suggestion-item {
    padding: 10px 14px 12px 50px; cursor: pointer; font-size: 12px; color: #1f2937;
    border-bottom: 1px solid #f1f5f9; transition: background 0.15s;
    text-align: left; line-height: 1.4;
    margin-bottom: 4px;
}
#why-portal-quick-search-wrap .listing-address-suggestions .suggestion-item {
    padding: 10px 14px 12px 50px; cursor: pointer; font-size: 12px; color: #1f2937;
    border-bottom: 1px solid #f1f5f9; transition: background 0.15s;
    text-align: left; line-height: 1.4;
    margin-bottom: 4px;
}
#portal-quick-search-wrap .listing-address-suggestions .suggestion-item:last-child { margin-bottom: 0; border-bottom: none; }
#why-portal-quick-search-wrap .listing-address-suggestions .suggestion-item:last-child { margin-bottom: 0; border-bottom: none; }
#portal-quick-search-wrap .listing-address-suggestions .suggestion-item:hover,
#portal-quick-search-wrap .listing-address-suggestions .suggestion-item.selected { background: #f8fafc; }
#why-portal-quick-search-wrap .listing-address-suggestions .suggestion-item:hover,
#why-portal-quick-search-wrap .listing-address-suggestions .suggestion-item.selected { background: #f8fafc; }
#portal-quick-search-wrap .listing-address-suggestions .suggestion-item .suggestion-match {
    font-weight: 700; color: var(--main-color, #EE7838); background: rgba(238, 120, 56, 0.08);
    padding: 0 1px; border-radius: 2px;
}
#why-portal-quick-search-wrap .listing-address-suggestions .suggestion-item .suggestion-match {
    font-weight: 700; color: var(--main-color, #EE7838); background: rgba(238, 120, 56, 0.08);
    padding: 0 1px; border-radius: 2px;
}
#portal-quick-search-wrap .listing-address-suggestions .suggestion-loading {
    padding: 12px 50px; color: #64748b; font-size: 12px; text-align: left;
}
#why-portal-quick-search-wrap .listing-address-suggestions .suggestion-loading {
    padding: 12px 50px; color: #64748b; font-size: 12px; text-align: left;
}
/* Area dropdown (same behavior as listing page) */
#portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap {
    padding: 0 20px 14px 110px; position: relative; overflow: visible;
    background: #f9f9f9; border: 1px solid #eee; border-radius: 4px;
}
#why-portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap {
    padding: 0 20px 14px 110px; position: relative; overflow: visible;
    background: #f9f9f9; border: 1px solid #eee; border-radius: 4px;
}
#portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap label {
    position: absolute; left: 5px; top: 24px; font-size: 0.9em; color: #666; line-height: 1.2;
    text-align: left; white-space: nowrap;
}
#portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap .price-rage-item,
#portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap .irs { margin-top: 1px; max-width: 100%; }
#portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap .irs-line { background: #eee; border-radius: 4px; }
#portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap .irs-bar,
#portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap .irs-slider { background: var(--main-color, #EE7838) !important; }
#portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap .irs-from,
#portal-quick-search-wrap .list-searh-input-wrap .listing-range-wrap .irs-to { background: #000 !important; color: #fff !important; }
#portal-quick-search-wrap .listing-range-dropdown { position: relative; width: 100%; }
#why-portal-quick-search-wrap .listing-range-dropdown { position: relative; width: 100%; }
#portal-quick-search-wrap .listing-range-dropdown-btn {
    display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px;
    padding: 8px 14px 8px 44px; border: 1px solid #e8e8e8; border-radius: 6px; background: #f9f9f9;
    cursor: pointer; text-align: left; transition: border-color 0.2s, box-shadow 0.2s;
    font-size: 13px; color: #1e1e1e;
}
#why-portal-quick-search-wrap .listing-range-dropdown-btn {
    display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px;
    padding: 8px 14px 8px 44px; border: 1px solid #e8e8e8; border-radius: 6px; background: #f9f9f9;
    cursor: pointer; text-align: left; transition: border-color 0.2s, box-shadow 0.2s;
    font-size: 13px; color: #1e1e1e;
}
#why-portal-quick-search-wrap .listing-range-dropdown-panel {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    z-index: 200;
    padding: 16px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
}
#portal-quick-search-wrap .listing-range-dropdown-btn:hover { border-color: var(--main-color, #EE7838); }
#portal-quick-search-wrap .listing-range-dropdown-btn[aria-expanded="true"] { border-color: var(--main-color, #EE7838); box-shadow: 0 0 0 2px rgba(238, 120, 56, 0.15); }
#portal-quick-search-wrap .listing-range-dropdown-btn .listing-range-dropdown-title { font-weight: 600; flex: 0 0 auto; }
#portal-quick-search-wrap .listing-range-dropdown-btn .listing-range-dropdown-summary {
    flex: 1 1 auto; text-align: right; color: #64748b; font-weight: 500;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#portal-quick-search-wrap .listing-range-dropdown-btn .listing-range-dropdown-caret { flex: 0 0 auto; font-size: 0.75em; color: #94a3b8; transition: transform 0.2s; }
#portal-quick-search-wrap .listing-range-dropdown-btn[aria-expanded="true"] .listing-range-dropdown-caret { transform: rotate(180deg); }
#portal-quick-search-wrap .listing-range-dropdown-panel {
    display: none; position: absolute; left: 0; right: 0; top: calc(100% + 6px);
    z-index: 200; padding: 16px; background: #fff; border: 1px solid #eee; border-radius: 10px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
}
#portal-quick-search-wrap .listing-range-dropdown-panel.is-open { display: block; }
#why-portal-quick-search-wrap .listing-range-dropdown-panel.is-open { display: block; }
#portal-quick-search-wrap .listing-range-dropdown-panel {
    right: auto;
    width: 400px;
    max-width: calc(100vw - 30px);
}
#why-portal-quick-search-wrap .listing-range-dropdown-panel {
    right: 0;
    width: 100%;
    max-width: 100%;
}
#portal-quick-search-wrap .listing-range-dropdown-panel .listing-range-wrap { margin-bottom: 0; padding: 0 12px 10px 12px; }
#portal-quick-search-wrap .listing-range-dropdown-panel .listing-range-wrap label { display: none !important; }
#portal-quick-search-wrap .listing-range-dropdown-cswrap { position: relative; padding: 0 !important; border: none !important; background: transparent !important; }
#why-portal-quick-search-wrap .listing-range-dropdown-panel .listing-range-wrap { margin-bottom: 0; padding: 0 12px 10px 12px; }
#why-portal-quick-search-wrap .listing-range-dropdown-panel .listing-range-wrap label { display: none !important; }
#why-portal-quick-search-wrap .listing-range-dropdown-cswrap { position: relative; padding: 0 !important; border: none !important; background: transparent !important; }
#portal-quick-search-wrap .listing-range-dropdown-cswrap > i.fa-light {
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%); z-index: 2;
    color: var(--main-color, #EE7838); pointer-events: none; font-size: 1.1em;
}
#why-portal-quick-search-wrap .listing-range-dropdown-cswrap > i.fa-light {
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%); z-index: 2;
    color: var(--main-color, #EE7838); pointer-events: none; font-size: 1.1em;
}
.about-img-search { background: transparent; }
.about-img-search .list-searh-input-wrap { margin-bottom: 0; }
.home-hero-section .col-lg-4 { position: relative; z-index: 25; overflow: visible; }

/* Portal homepage hero: full screen height + wider centered form */
.home-hero-section.hero-section {
    --portal-hero-header-offset: 90px;
    margin-top: 0;
    min-height: calc(100vh - var(--portal-hero-header-offset));
    min-height: calc(100svh - var(--portal-hero-header-offset));
    min-height: calc(100dvh - var(--portal-hero-header-offset));
}
.home-hero-section .hero-section-wrap,
.home-hero-section .hero-section-wrap-item {
    min-height: calc(100vh - var(--portal-hero-header-offset));
    min-height: calc(100svh - var(--portal-hero-header-offset));
    min-height: calc(100dvh - var(--portal-hero-header-offset));
}
.home-hero-section .hero-section-wrap-item {
    display: flex;
    flex-direction: column;
}
.home-hero-section .hero-section-wrap-item > .container {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: inherit;
    position: relative;
    z-index: 3;
}
.home-hero-section .portal-home-hero-container {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(16px, 3vh, 40px) 0 clamp(20px, 4vh, 48px) !important;
    width: 100%;
}
.home-hero-section .bg-wrap.fs-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    min-height: 100%;
}
.home-hero-section .slideshow-container_wrap,
.home-hero-section .slideshow-container_wrap .swiper-container,
.home-hero-section .slideshow-container_wrap .swiper-wrapper,
.home-hero-section .slideshow-container_wrap .swiper-slide,
.home-hero-section .slideshow-container_wrap .ms-item_fs {
    min-height: 100%;
    height: 100%;
}
.home-hero-section .portal-home-hero-search-col {
    position: relative;
    z-index: 25;
    overflow: visible;
    margin-top: 0 !important;
    flex: 0 0 100%;
    width: 100%;
    max-width: min(820px, 94vw);
}
/* Hero action buttons (replaces inline search form) */
.portal-home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    position: relative;
    z-index: 25;
}
.portal-hero-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 108px;
    padding: 12px 45px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    background: #fff;
    color: #1f2937;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease, transform 0.2s ease, box-shadow 0.28s ease;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
.portal-hero-action-btn:hover {
    background: #a9823d;
    border-color: #a9823d;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(169, 130, 61, 0.35);
}
.portal-hero-action-btn-search i {
    font-size: 0.95rem;
}

/* Portal search modal */
.portal-search-modal-wrap {
    position: fixed;
    inset: 0;
    z-index: 1100;
    overflow: auto;
    display: none;
}
.portal-search-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.5);
}
.portal-search-modal-item {
    position: relative;
    z-index: 2;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    box-sizing: border-box;
}
.portal-search-modal-panel {
    position: relative;
    width: 100%;
    max-width: min(820px, 94vw);
    background: #fff;
    border-radius: 12px;
    padding: 52px 24px 24px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.22);
    overflow: visible;
}
.portal-search-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: #f3f4f6;
    color: #374151;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, color 0.2s ease;
    z-index: 50;
}
.portal-search-modal-close:hover {
    background: #a9823d;
    color: #fff;
}
.portal-search-modal-panel #portal-quick-search-wrap {
    width: 100%;
    box-shadow: none;
    border: none;
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 1;
}
.portal-search-modal-panel #portal-quick-search-wrap.lws_column .list-searh-input-wrap-title_wrap,
.portal-search-modal-panel #portal-quick-search-wrap .list-searh-input-wrap-title_wrap.portal-home-hero-search-toolbar {
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
    border-bottom: none;
}
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-search-toolbar {
    padding-right: 40px;
}

.home-hero-section .portal-home-hero-heading {
    text-align: center;
    color: #fff;
    font-size: clamp(1.2rem, 2.6vw, 1.85rem);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: 0.01em;
    margin: 0 0 clamp(18px, 3vh, 30px);
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.55);
    position: relative;
    z-index: 25;
}
.home-hero-section .portal-hero-etihad-word {
    display: inline-block;
    min-width: 6.5ch;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    vertical-align: baseline;
    white-space: nowrap;
}
.home-hero-section .portal-hero-etihad-word.is-typing::after {
    content: '|';
    display: inline-block;
    margin-left: 1px;
    font-weight: 400;
    opacity: 0.9;
    animation: portal-etihad-caret 0.72s step-end infinite;
}
@keyframes portal-etihad-caret {
    50% { opacity: 0; }
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap {
    width: 100%;
}
.portal-home-hero-container .row {
    justify-content: center;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
.portal-home-hero-notifer {
    text-align: right;
    margin-top: clamp(20px, 3vh, 40px);
}
@media (min-width: 1200px) {
    .home-hero-section .portal-home-hero-search-col {
        max-width: min(900px, 88vw);
    }
}
@media (max-width: 1068px) {
    .home-hero-section.hero-section {
        --portal-hero-header-offset: 80px;
    }
    .portal-home-hero-notifer {
        text-align: right;
    }
    .portal-home-hero-notifer a {
        display: inline-block;
        margin-top: 0;
    }
}
@media (max-width: 767px) {
    .home-hero-section .portal-home-hero-search-col {
        max-width: min(100%, 96vw);
    }
}
@media (max-height: 700px) {
    .home-hero-section .portal-home-hero-container {
        padding-top: 12px !important;
        padding-bottom: 16px !important;
    }
    .portal-home-hero-notifer {
        margin-top: 16px;
    }
}

/* Hero quick search: hide All Categories + Area for now */
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-hidden-fields {
    display: none !important;
}

/* Hero quick search: compact toolbar + inline search row */
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-search-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #eee;
    padding-bottom: 16px;
    margin-bottom: 16px;
    position: relative;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap.lws_column .portal-home-hero-search-toolbar {
    margin-bottom: 16px;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-search-toolbar .header-search-radio {
    display: flex;
    flex: 0 0 auto;
    float: none;
    width: auto;
    border: 1px solid #eee;
    border-radius: 4px;
    overflow: hidden;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-search-toolbar .header-search-radio .button-label {
    float: none;
    width: auto;
    min-width: 88px;
    padding: 0 18px;
    text-align: center;
    white-space: nowrap;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-search-toolbar .header-search-radio .radio-label:checked + .button-label {
    background: #fff;
    color: #000;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-filter-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid #eee;
    border-radius: 4px;
    background: #f9f9f9;
    color: var(--main-color, #EE7838);
    font-size: 1.1em;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-filter-icon i {
    margin: 0;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-toolbar-actions .reset-btn {
    position: static;
    margin: 0;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-search-inline {
    display: flex;
    align-items: stretch;
    gap: 10px;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-address-field {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}
.home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-search-btn {
    flex: 0 0 auto;
    width: auto;
    min-width: 120px;
    margin: 0;
    padding: 0 28px;
    white-space: nowrap;
}
@media (max-width: 575px) {
    .home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-search-inline {
        flex-wrap: nowrap;
        gap: 8px;
    }
    .home-hero-section #portal-quick-search-wrap,
.portal-search-modal-panel #portal-quick-search-wrap .portal-home-hero-search-btn {
        min-width: 96px;
        padding: 0 16px;
        font-size: 0.85em;
    }
}

/* Homepage hero captions — readable on slideshow background */
.portal-home-hero-copy {
    max-width: 640px;
    position: relative;
    z-index: 3;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-right: auto;
}
.portal-home-hero-copy .hero-section-title_sub {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 18px;
    font-size: 1.05em;
    letter-spacing: 0.02em;
    text-align: left;
}
.portal-home-hero-copy .hero-section-title_sub::before {
    left: 0;
}
.portal-home-hero-copy h1 {
    align-self: flex-start;
    text-align: left;
    font-size: 3.1em;
    line-height: 1.22;
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px;
    max-width: 640px;
    text-shadow: 0 2px 22px rgba(0, 0, 0, 0.55);
}
.portal-home-hero-lead {
    align-self: flex-start;
    text-align: left;
    color: rgba(255, 255, 255, 0.92);
    margin: 0;
    max-width: 520px;
    font-size: 1.05em;
    line-height: 1.65;
    font-weight: 400;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45);
}
.portal-home-hero-copy .portal-home-hero-cta {
    align-self: flex-start;
    margin-top: 28px;
    margin-left: 0;
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    padding: 14px 32px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}
@media (max-width: 1068px) {
    .portal-home-hero-copy h1 { font-size: 2.45em; }
}
@media (max-width: 767px) {
    .portal-home-hero-copy {
        max-width: 100%;
        margin-top: 40px !important;
    }
    .portal-home-hero-copy h1 {
        font-size: 1.85rem;
        line-height: 1.25;
    }
    .portal-home-hero-lead { font-size: 0.98em; }
    .portal-home-hero-copy .portal-home-hero-cta {
        margin-top: 22px;
        padding: 12px 24px;
    }
}

.portal-dealers-strip {
    width: 100%;
    background: linear-gradient(180deg, #f8fbff 0%, #f2f6fb 100%);
    border-top: 1px solid #eceff3;
    border-bottom: 1px solid #eceff3;
    padding: 14px 0;
    overflow: hidden;
}
.dealer-marquee {
    width: 100%;
    overflow: hidden;
    position: relative;
}
.dealer-marquee-track {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
    animation: portalDealerMarquee 48s linear infinite;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}
.dealer-marquee:hover .dealer-marquee-track { animation-play-state: paused; }
.dealer-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 12px 7px 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e2e8f0;
    text-decoration: none;
}
.dealer-chip-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
}
.dealer-chip-name {
    font-size: 13px;
    line-height: 1;
    font-weight: 600;
    color: #0f172a;
}
@keyframes portalDealerMarquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.portal-map-section { width: 100%; padding: 12px 0 22px; }
.portal-map-wrap { width: 100%; }
.portal-home-map { width: 100%; height: 520px; background: #f1f5f9; }
.portal-ads-wrap {
    margin: 24px 0 20px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    overflow: visible;
}
.portal-ad-card {
    position: relative;
    width: 100%;
    min-height: 110px;
    border-radius: 8px;
    overflow: hidden;
    background: #e2e8f0;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.12);
}
.portal-ad-card-properties {
    min-height: 156px;
}
.portal-ad-card-properties .portal-ad-content {
    min-height: 156px;
}
.portal-ad-card-dealers {
    min-height: 77px;
    overflow: visible;
    z-index: 2;
}
.portal-ad-card-dealers:hover,
.portal-ad-card-dealers:focus-within {
    z-index: 5;
}
.portal-ad-card-dealers .portal-ad-image,
.portal-ad-card-dealers .portal-ad-overlay {
    border-radius: 8px;
}
.portal-ad-card-dealers .portal-ad-content,
.portal-ad-card-dealers.has-ad-avatars .portal-ad-content--with-avatars {
    min-height: 77px;
    padding-top: 12px;
    padding-bottom: 12px;
}
.portal-ad-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.portal-ad-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(8, 47, 73, 0.55) 0%, rgba(8, 47, 73, 0.35) 38%, rgba(8, 47, 73, 0.18) 65%, rgba(8, 47, 73, 0.08) 100%);
}
.portal-ad-content {
    position: relative;
    z-index: 2;
    min-height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px 230px 22px 240px;
    text-align: left;
}
.portal-ad-title {
    margin: 0;
    color: #ffffff;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.12;
}
.portal-ad-subtitle {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 20px;
    line-height: 1.35;
}
.portal-ad-badge {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    min-width: 52px;
    height: 24px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.03em;
    border-radius: 0 0 8px 0;
}
.portal-ad-btn {
    position: absolute;
    right: 74px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 54px;
    padding: 0 20px;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
    white-space: nowrap;
}
.portal-ad-btn:hover { color: #0f172a; opacity: 0.94; }
.portal-ad-card-dealers.has-ad-avatars .portal-ad-content--with-avatars {
    padding-left: 240px;
}
.portal-ad-avatar-stack {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
    display: flex;
    align-items: center;
    padding-left: 4px;
    overflow: visible;
}
.portal-ad-card-dealers .portal-ad-avatar-item {
    overflow: visible;
}
.portal-ad-avatar-item {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    margin-left: -14px;
    border-radius: 50%;
    border: 3px solid #fff;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.22);
    cursor: pointer;
    transition: transform 0.25s ease, z-index 0s;
    overflow: visible;
}
.portal-ad-card-dealers .portal-ad-avatar-item {
    width: 70px;
    height: 70px;
    margin-left: -18px;
}
.portal-ad-avatar-item:first-child { margin-left: 0; }
.portal-ad-avatar-item:hover,
.portal-ad-avatar-item:focus-visible {
    transform: translateY(-4px) scale(1.08);
    z-index: 6;
}
.portal-ad-avatar-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}
.portal-ad-avatar-tooltip {
    position: absolute;
    left: 50%;
    top: calc(100% + 10px);
    transform: translateX(-50%) translateY(6px);
    min-width: max-content;
    max-width: 180px;
    padding: 6px 10px;
    border-radius: 8px;
    background: #fff;
    color: #0f172a;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.18);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}
.portal-ad-avatar-item:hover .portal-ad-avatar-tooltip,
.portal-ad-avatar-item:focus-visible .portal-ad-avatar-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
@media (max-width: 991px) {
    .portal-ad-avatar-stack {
        left: 16px;
        top: 16px;
        transform: none;
    }
    .portal-ad-avatar-item {
        width: 42px;
        height: 42px;
        margin-left: -10px;
        border-width: 2px;
    }
    .portal-ad-card-dealers .portal-ad-avatar-item {
        width: 60px;
        height: 60px;
        margin-left: -14px;
        border-width: 2px;
    }
    .portal-ad-avatar-tooltip {
        font-size: 11px;
        max-width: 140px;
    }
    .portal-ad-content {
        padding: 16px 16px 72px 16px;
        min-height: 128px;
    }
    .portal-ad-card-properties .portal-ad-content {
        min-height: 185px;
    }
    .portal-ad-card-dealers.has-ad-avatars .portal-ad-content--with-avatars {
        padding: 64px 16px 64px 16px;
        min-height: 104px;
    }
    .portal-ad-card-dealers .portal-ad-content {
        min-height: 90px;
    }
    .portal-ad-title { font-size: 20px; }
    .portal-ad-subtitle { font-size: 13px; margin-top: 6px; }
    .portal-ad-btn {
        top: auto;
        right: 66px;
        bottom: 16px;
        transform: none;
    }
}
.listing-marker-card {
    max-width: 320px;
    min-width: 280px;
    font-size: 13px;
    line-height: 1.45;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.2);
    overflow: hidden;
}
.listing-marker-card-head {
    padding: 16px 16px 14px;
    background: linear-gradient(135deg, #c4a574 0%, var(--main-color, #a9823d) 55%, #8a6a32 100%);
}
.listing-marker-card-title { margin: 0; font-size: 20px; font-weight: 700; color: #fff; line-height: 1.2; }
.listing-marker-card-body { padding: 14px 16px; }
.listing-marker-card-tags { display: flex; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.listing-marker-card-tag { border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 700; }
.listing-marker-card-tag.is-primary { background: var(--main-color, #a9823d); color: #fff; }
.listing-marker-card-tag.is-secondary { background: #e2e8f0; color: #475569; }
.listing-marker-card-address { margin: 0 0 12px; color: #334155; font-size: 14px; }
.listing-marker-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.listing-marker-card-price { font-size: 20px; font-weight: 700; color: #1e293b; }
.listing-marker-card-link { color: var(--main-color, #a9823d); font-weight: 700; text-decoration: none; font-size: 14px; }
.portal-home-agents-section { padding: 8px 0 20px; }
.portal-home-agents-wrap {
    border: 1px solid #eee;
    border-radius: 16px;
    background: #fff;
    padding: 22px;
}
.portal-home-agents-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}
.portal-home-agents-header h3 {
    margin: 0;
    font-size: 24px;
    line-height: 1.2;
}
.portal-home-agents-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.portal-home-agents-grid .agent-card-item { margin-bottom: 0; display: flex; flex-direction: column; height: 100%; }
.portal-home-agents-grid .agent-card-item_media-wrap .team-card-avatar-placeholder { display: flex; align-items: center; justify-content: center; background: #cbd5e1; color: #64748b; }
.portal-home-agents-grid .agent-card-item_media-wrap .team-card-avatar-placeholder svg { width: 64px; height: 64px; opacity: 0.7; }
.portal-home-agents-grid .agent-card-item_footer .property-contacts-links { display: none !important; }
.portal-home-agents-grid .agent-card-item_text { flex: 1; display: flex; flex-direction: column; min-height: 0; padding: 12px 0 8px; }
.portal-home-agents-grid .agent-card-item_text-item h4 { margin: 0 0 6px; font-size: 1rem; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.portal-home-agents-grid .agent-card-item_text-item p { margin: 0 0 8px; font-size: 0.8125rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; flex: 1; min-height: 0; }
.portal-home-agents-grid .post-card-details { flex-shrink: 0; }
.portal-home-agents-grid .post-card-details ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
}
.portal-home-agents-grid .post-card-details ul li {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    line-height: 1;
    color: var(--theme-color, #e85d04);
    width: auto !important;
    white-space: nowrap;
}
.portal-home-agents-grid .post-card-details ul li i { opacity: 0.9; }
.portal-home-agents-grid .post-card-details ul li span { white-space: nowrap; }
.portal-home-agents-grid .agent-card-item_footer { flex-shrink: 0; padding-top: 8px; }
@media (max-width: 767px) {
    .dealer-marquee-track { animation-duration: 36s; }
}
@media (max-width: 1200px) {
    .portal-home-agents-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .portal-home-agents-wrap { padding: 16px; }
    .portal-home-agents-header h3 { font-size: 20px; }
    .portal-home-agents-grid { grid-template-columns: 1fr; }
    .portal-home-agents-grid .post-card-details ul { grid-template-columns: 1fr; }
}

/* Homepage projects: 3 per row, centered when fewer than 3 */
.portal-projects-listing .listing-item-container.three-columns-grid {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    grid-template-columns: unset !important;
}
.portal-projects-listing .listing-item-container.three-columns-grid > .listing-item {
    flex: 0 1 calc(33.333% - 11px);
    max-width: calc(33.333% - 11px);
    min-width: 0;
    padding: 8px;
    box-sizing: border-box;
}
@media (max-width: 1200px) {
    .portal-projects-listing .listing-item-container.three-columns-grid > .listing-item {
        flex: 0 1 calc(50% - 8px);
        max-width: calc(50% - 8px);
    }
}
@media (max-width: 768px) {
    .portal-projects-listing .listing-item-container.three-columns-grid > .listing-item {
        flex: 0 1 100%;
        max-width: 100%;
    }
}

/* Portal project cards — reference listing design */
.portal-projects-listing .portal-project-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.portal-projects-listing .portal-project-card .geodir-category-img {
    border-radius: 14px 14px 0 0;
    overflow: hidden;
}
.portal-projects-listing .portal-project-card .geodir-category-img .geodir-category-location {
    left: 14px;
    bottom: 14px;
    z-index: 3;
}
.portal-projects-listing .portal-project-card .geodir-category-img .list-single-opt_header_cat {
    top: 14px;
    left: 14px;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 7px 5px;
}
.portal-projects-listing .portal-project-card .geodir-category-img .list-single-opt_header_cat li {
    margin: 0;
    padding: 0;
}
.portal-projects-listing .portal-project-card .geodir-category-img .cat-opt {
    float: none;
    margin-bottom: 11px;
    padding: 4px 10px;
    font-size: 10px;
    line-height: 1.3;
    border-radius: 14px;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2);
}
.portal-projects-listing .portal-project-card-body {
    padding: 16px 16px 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 6px;
}
.portal-projects-listing .portal-project-card-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    color: #111827;
}
.portal-projects-listing .portal-project-card-title a {
    color: inherit;
    text-decoration: none;
}
.portal-projects-listing .portal-project-card-title a:hover {
    color: #a9823d;
}
.portal-projects-listing .portal-project-card-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: #f3f4f6;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 14px;
}
.portal-projects-listing .portal-project-card-stat {
    padding: 12px 14px;
    text-align: center;
}
.portal-projects-listing .portal-project-card-stat + .portal-project-card-stat {
    border-left: 1px solid #e5e7eb;
}
.portal-projects-listing .portal-project-card-stat-label {
    display: block;
    font-size: 0.72rem;
    color: #6b7280;
    margin-bottom: 4px;
    text-transform: capitalize;
}
.portal-projects-listing .portal-project-card-stat-value {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    color: #0d9488;
    line-height: 1.25;
}
.portal-projects-listing .portal-project-card-wa {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: auto;
    padding: 12px 16px;
    border-radius: 10px;
    background: #ecfdf5;
    color: #166534;
    font-weight: 700;
    font-size: 0.92rem;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}
.portal-projects-listing .portal-project-card-wa i {
    font-size: 1.2rem;
}
.portal-projects-listing .portal-project-card-wa:hover {
    background: #d1fae5;
    color: #14532d;
}

/* Portal property cards — match project card shell */
.portal-property-listing .etihad-property-card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.portal-property-listing .etihad-property-card .geodir-category-img {
    border-radius: 14px 14px 0 0;
    overflow: hidden;
}
.portal-property-listing .etihad-property-card-body {
    padding: 16px 16px 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 4px;
}
.portal-property-listing .etihad-property-card-body .listing-card-title {
    margin: 0 0 10px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}
.portal-property-listing .portal-project-card-wa {
    margin-top: auto;
}

/* DHA phases slider on portal homepage */
.portal-dha-phases-section {
    padding-top: 20px;
}
.dha-phase-carousel-wrap {
    position: relative;
}
.dha-phase-carousel {
    position: relative;
    padding: 0 44px;
}
.dha-phase-carousel .swiper-container {
    overflow: hidden;
}
.dha-phase-carousel .swiper-slide {
    height: auto;
}
.dha-phase-carousel .dha-phase-card {
    width: 100%;
}
.dha-phase-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
    color: #374151;
    transition: background 0.2s ease, color 0.2s ease;
}
.dha-phase-button:hover {
    background: #a9823d;
    color: #fff;
}
.dha-phase-button-prev { left: 0; }
.dha-phase-button-next { right: 0; }
@media (max-width: 575px) {
    .dha-phase-carousel { padding: 0 36px; }
    .dha-phase-button { width: 34px; height: 34px; }
}

/* Testimonials slider: start flush left, no centered gap */
.testimonilas-carousel .swiper-container {
    overflow: hidden;
}
.testimonilas-carousel .swiper-wrapper {
    align-items: stretch;
}

/* Portal homepage section headings — larger + uppercase */
.listing-grid_heroheader > h3,
.portal-home-section-head > h3,
.portal-home-agents-header > h3,
.about-title.ab-hero > h2,
.api-text > h3,
.parallax-section-content > h3,
.section-title > h2 {
    text-transform: uppercase;
}
.listing-grid_heroheader > h3,
.portal-home-section-head > h3 {
    font-size: 2.15em;
    font-weight: 700;
}
.portal-home-agents-header > h3 {
    font-size: 30px;
    font-weight: 700;
}
.about-title.ab-hero > h2 {
    font-size: 2.35em;
    font-weight: 700;
}
.api-text > h3 {
    font-size: 3.1em;
    font-weight: 600;
}
.parallax-section-content > h3 {
    font-size: 2.75em;
    font-weight: 600;
}
.section-title > h2 {
    font-size: 3.35em;
    font-weight: 700;
}
.section-title > h4 {
    text-transform: uppercase;
}
@media (max-width: 1068px) {
    .listing-grid_heroheader > h3,
    .portal-home-section-head > h3 {
        font-size: 1.85em;
    }
    .portal-home-agents-header > h3 {
        font-size: 26px;
    }
    .about-title.ab-hero > h2 {
        font-size: 2em;
    }
    .api-text > h3 {
        font-size: 2.5em;
    }
    .parallax-section-content > h3 {
        font-size: 2.2em;
    }
    .section-title > h2 {
        font-size: 2.75em;
    }
}
