/* Microsite vNext compatibility treatment for /about/for-buyers/. */

.csh-vnext.page-forbuyers #page-content {
    padding: 0;
    background: var(--csh-bg);
}

.csh-vnext.page-forbuyers #page-content > .container-fluid {
    max-width: none;
    padding: 0;
}

.csh-vnext.page-forbuyers #page-content > .container-fluid > .row {
    margin: 0;
}

.csh-vnext.page-forbuyers #page-content > .container-fluid > .row > .col-12 {
    padding: 0;
}

/* Hero and benefit cards */
.csh-vnext.page-forbuyers .header-page {
    isolation: isolate;
    min-height: clamp(500px, 66vh, 680px);
}

.csh-vnext.page-forbuyers .header-page .header-bg,
.csh-vnext.page-forbuyers .header-page .header-bg-mobile {
    z-index: -2;
}

.csh-vnext.page-forbuyers .header-page .header-bg::after,
.csh-vnext.page-forbuyers .header-page .header-bg-mobile::after {
    background: linear-gradient(90deg, rgba(8, 13, 19, .78), rgba(8, 13, 19, .25));
}

.csh-vnext.page-forbuyers .search-box-header {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: max(1rem, calc((100vw - var(--csh-content-width)) / 2 + 2rem));
    width: min(680px, calc(100% - 2rem));
    padding: clamp(1.5rem, 4vw, 3rem);
    transform: translateY(-50%);
    color: #ffffff;
    background: rgba(12, 18, 24, .72);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--csh-radius-lg);
    box-shadow: var(--csh-shadow);
    backdrop-filter: blur(14px);
}

.csh-vnext.page-forbuyers .search-box-header h1,
.csh-vnext.page-forbuyers .search-box-header h3 {
    color: #ffffff;
}

.csh-vnext.page-forbuyers .search-box-header h1 {
    max-width: 15ch;
    margin: 0 0 .75rem;
    font-size: clamp(2.25rem, 5vw, 4.25rem);
    line-height: 1.03;
    text-wrap: balance;
}

.csh-vnext.page-forbuyers #intro-learn-more {
    margin-top: 1.25rem;
    text-align: left;
}

.csh-vnext.page-forbuyers #intro-learn-more .btn {
    color: #ffffff;
    background: var(--csh-primary);
    border-color: rgba(255, 255, 255, .35);
}

.csh-vnext.page-forbuyers #features {
    z-index: 3;
    max-width: var(--csh-content-width);
    margin: -72px auto 0;
    padding: 0 clamp(1rem, 3vw, 2rem);
}

.csh-vnext.page-forbuyers #features > .container {
    max-width: none;
    padding: clamp(1rem, 2vw, 1.4rem);
    background: var(--csh-surface);
    border: 1px solid var(--csh-border);
    border-radius: var(--csh-radius-lg);
    box-shadow: var(--csh-shadow);
}

.csh-vnext.page-forbuyers #features .row {
    align-items: stretch;
    row-gap: .75rem;
}

.csh-vnext.page-forbuyers #features [class*="col-"] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.csh-vnext.page-forbuyers #features .features-item {
    width: 100%;
}

.csh-vnext.page-forbuyers #features .fa {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: 0 auto .65rem;
    color: var(--csh-primary);
    background: rgba(var(--csh-primary-rgb), .1);
    border-radius: 50%;
    font-size: 1.15rem;
}

.csh-vnext.page-forbuyers #features h3 {
    margin: 0 0 .35rem;
    color: var(--csh-text);
    font-size: .95rem;
    line-height: 1.25;
    text-transform: none;
}

.csh-vnext.page-forbuyers #features p {
    margin: 0;
    color: var(--csh-text-muted);
    font-size: .82rem;
    line-height: 1.45;
}

/* Content sections and responsive media */
.csh-vnext.page-forbuyers .section-middle,
.csh-vnext.page-forbuyers .section-bottom {
    padding: clamp(2.75rem, 6vw, 5.5rem) clamp(1rem, 3vw, 2rem);
}

.csh-vnext.page-forbuyers .section-gray {
    background: var(--csh-surface-muted);
}

.csh-vnext.page-forbuyers .section-middle > .container,
.csh-vnext.page-forbuyers .section-bottom > .container {
    max-width: var(--csh-content-width);
}

.csh-vnext.page-forbuyers .content-text .embed-responsive {
    position: relative;
    width: min(100%, 900px);
    height: auto;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    overflow: hidden;
    background: #0c1218;
    border-radius: var(--csh-radius);
    box-shadow: var(--csh-shadow-sm);
}

.csh-vnext.page-forbuyers .content-text .embed-responsive iframe,
.csh-vnext.page-forbuyers .content-text .embed-responsive-item {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.csh-vnext.page-forbuyers .callout-content {
    text-align: center;
}

.csh-vnext.page-forbuyers .callout-content h2,
.csh-vnext.page-forbuyers #for-buyers-form h2 {
    color: var(--csh-text);
    font-size: clamp(1.65rem, 3vw, 2.4rem);
    text-transform: none;
}

/* Newest listings: retain Owl and FlipClock behavior with compact sizing. */
.csh-vnext.page-forbuyers #properties h1 {
    width: 100%;
    margin-bottom: 1.5rem;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    text-align: center;
}

.csh-vnext.page-forbuyers .listing-slider {
    position: relative;
    padding: 0 2rem;
}

.csh-vnext.page-forbuyers #coming-slider .owl-stage {
    display: flex;
}

.csh-vnext.page-forbuyers #coming-slider .owl-item {
    display: flex;
    padding: .35rem;
}

.csh-vnext.page-forbuyers #properties .property-box {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 365px;
    overflow: hidden;
    background: var(--csh-surface);
    border: 1px solid var(--csh-border);
    border-radius: var(--csh-radius);
    box-shadow: var(--csh-shadow-sm);
}

/* The favorite control is a sibling of the card in this legacy carousel. */
.csh-vnext.page-forbuyers #coming-slider .property-item {
    position: relative;
    width: 100%;
}

.csh-vnext.page-forbuyers #coming-slider .property-item > .save-favorite {
    position: absolute;
    z-index: 6;
    top: .8rem;
    right: .8rem;
    margin: 0;
    color: var(--csh-primary);
    text-decoration: none !important;
    cursor: pointer;
}

.csh-vnext.page-forbuyers #coming-slider .property-item > .save-favorite:visited,
.csh-vnext.page-forbuyers #coming-slider .property-item > .save-favorite:hover,
.csh-vnext.page-forbuyers #coming-slider .property-item > .save-favorite:focus,
.csh-vnext.page-forbuyers #coming-slider .property-item > .save-favorite:active {
    color: var(--csh-primary);
    text-decoration: none !important;
}

.csh-vnext.page-forbuyers #coming-slider .property-item > .save-favorite > div {
    position: static !important;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0 !important;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 50%;
    box-shadow: var(--csh-shadow-sm);
}

.csh-vnext.page-forbuyers #coming-slider .property-item > .save-favorite > div i {
    color: var(--csh-primary);
    font-size: 1rem;
}

.csh-vnext.page-forbuyers #properties .property-box-address {
    min-height: 52px;
    margin: 0;
    padding: .85rem .85rem .45rem;
}

.csh-vnext.page-forbuyers #properties .property-box-title {
    margin: 0;
    font-size: 1rem;
}

.csh-vnext.page-forbuyers #properties .property-box-label {
    padding: 0 .85rem .65rem;
    color: var(--csh-text-muted);
    font-size: .78rem;
}

.csh-vnext.page-forbuyers #properties .property-box-picture,
.csh-vnext.page-forbuyers #properties .property-box-picture-inner {
    position: relative;
}

.csh-vnext.page-forbuyers #properties .property-box-picture-bg {
    min-height: 155px;
    background-position: center;
    background-size: cover;
}

.csh-vnext.page-forbuyers #properties .property-views-overlay {
    position: absolute;
    z-index: 2;
    top: .55rem;
    left: .55rem;
    padding: .25rem .5rem;
    color: #ffffff;
    background: rgba(8, 13, 19, .78);
    border-radius: .35rem;
    font-size: .75rem;
    font-weight: 750;
}

.csh-vnext.page-forbuyers #properties .tag.price {
    position: relative !important;
    width: 100% !important;
    height: 46px;
    padding: 12px 8px 0 !important;
    overflow: hidden;
    background: var(--csh-surface);
}

.csh-vnext.page-forbuyers .listingClock.clock.flip-clock-wrapper {
    position: relative;
    float: none !important;
    width: 132px !important;
    height: 24px;
    margin: 0 auto;
    padding: 0 !important;
    text-align: center;
}

.csh-vnext.page-forbuyers .listingClock.clock.flip-clock-wrapper ul {
    position: relative;
    float: left;
    width: 16px;
    height: 22px;
    margin: 1px;
    padding: 0;
    overflow: hidden;
    color: #ffffff;
    background: #111820;
    border-radius: 3px;
    box-shadow: none;
    font-size: 13px;
    font-weight: 800;
    line-height: 22px;
}

.csh-vnext.page-forbuyers .listingClock.clock.flip-clock-wrapper ul li,
.csh-vnext.page-forbuyers .listingClock.clock.flip-clock-wrapper ul li a,
.csh-vnext.page-forbuyers .listingClock.clock.flip-clock-wrapper ul li a div,
.csh-vnext.page-forbuyers .listingClock.clock.flip-clock-wrapper ul li a div div.inn {
    width: 100%;
    height: 100%;
    color: #ffffff;
    background: #111820;
    font-size: 13px;
    line-height: 22px;
}

.csh-vnext.page-forbuyers .listingClock.clock .flip-clock-divider {
    position: relative;
    display: inline-block;
    float: left;
    width: 6px;
    height: 22px;
}

.csh-vnext.page-forbuyers .listingClock.clock .flip-clock-divider:first-child {
    width: 0;
}

.csh-vnext.page-forbuyers .listingClock.clock .flip-clock-divider .flip-clock-label {
    position: absolute;
    top: -11px;
    right: -34px;
    color: var(--csh-text-muted);
    background: transparent;
    font-size: 7px;
    font-weight: 750;
    text-transform: uppercase;
}

.csh-vnext.page-forbuyers .listingClock.clock .flip-clock-dot {
    position: absolute;
    left: 2px;
    display: block;
    width: 2px;
    height: 2px;
    background: var(--csh-text-muted);
    border-radius: 50%;
}

.csh-vnext.page-forbuyers .listingClock.clock .flip-clock-dot.top { top: 7px; }
.csh-vnext.page-forbuyers .listingClock.clock .flip-clock-dot.bottom { bottom: 7px; }

.csh-vnext.page-forbuyers #properties .property-box-meta {
    margin: 0;
    padding: .75rem .4rem;
    border-top: 1px solid var(--csh-border);
}

.csh-vnext.page-forbuyers #properties .property-box-meta-item {
    padding: 0 .2rem;
    color: var(--csh-text-muted);
    font-size: .7rem;
    text-align: center;
}

.csh-vnext.page-forbuyers #properties .property-box-meta-item strong {
    display: block;
    color: var(--csh-text);
    font-size: .85rem;
}

.csh-vnext.page-forbuyers .listing-slider-btn-left,
.csh-vnext.page-forbuyers .listing-slider-btn-right {
    position: absolute;
    z-index: 5;
    top: 50%;
    transform: translateY(-50%);
    color: var(--csh-primary);
    font-size: 2rem;
    cursor: pointer;
}

.csh-vnext.page-forbuyers .listing-slider-btn-left { left: 0; }
.csh-vnext.page-forbuyers .listing-slider-btn-right { right: 0; }

/* Form: use reliable native selects rather than the incompatible generated menu. */
.csh-vnext.page-forbuyers #for-buyers-form .card {
    overflow: visible;
}

.csh-vnext.page-forbuyers #for-buyers-form .card-header {
    padding: 1rem 1.2rem;
    font-weight: 750;
}

.csh-vnext.page-forbuyers #for-buyers-form .card-body {
    padding: clamp(1rem, 3vw, 2rem);
}

.csh-vnext.page-forbuyers #for-buyers-form .form-group.row {
    align-items: center;
    row-gap: .5rem;
}

.csh-vnext.page-forbuyers #for-buyers-form .bootstrap-select.form-control {
    display: block;
    width: 100%;
    height: auto;
    min-height: 46px;
    padding: 0;
    overflow: visible;
    background: transparent;
    border: 0;
}

.csh-vnext.page-forbuyers #for-buyers-form .bootstrap-select > select.form-control {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    clip: auto !important;
    clip-path: none !important;
}

.csh-vnext.page-forbuyers #for-buyers-form .bootstrap-select > .dropdown-toggle,
.csh-vnext.page-forbuyers #for-buyers-form .bootstrap-select > .dropdown-menu {
    display: none !important;
}

.csh-vnext.page-forbuyers #form-buy-submit {
    display: block;
    width: auto !important;
    min-width: 150px;
    margin: 1rem auto 0;
    padding: .75rem 1.5rem;
}

/* Floating subscription callout; dimensions preserve the existing JS animation. */
.csh-vnext.page-forbuyers #callout-panel {
    position: fixed;
    z-index: 1070;
    right: 0;
    bottom: -303px;
    width: min(400px, calc(100vw - 1rem));
    height: 300px;
    color: #ffffff;
}

.csh-vnext.page-forbuyers #callout-panel #callout-tab {
    position: absolute;
    top: -46px;
    right: 0;
    width: min(340px, calc(100vw - 1rem));
    min-height: 46px;
    padding: .75rem 1rem;
    color: #ffffff;
    background: var(--csh-primary);
    border: 0;
    border-radius: .75rem 0 0 0;
    box-shadow: var(--csh-shadow-sm);
    font-size: .88rem;
    font-weight: 750;
    text-align: center;
    cursor: pointer;
}

.csh-vnext.page-forbuyers #callout-panel #callout-body {
    width: 100%;
    height: 300px;
    padding: 2rem;
    color: #ffffff;
    background: var(--csh-primary);
    border: 0;
    border-radius: .75rem 0 0 0;
    box-shadow: var(--csh-shadow);
    text-align: center;
}

.csh-vnext.page-forbuyers #callout-panel #callout-body label {
    display: block;
    margin-bottom: 1.25rem;
    color: #ffffff;
}

.csh-vnext.page-forbuyers #callout-panel #callout-body .btn {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .55);
}

/* Testimonials retain the existing Owl carousel while using the vNext surface treatment. */
.csh-vnext.page-forbuyers #testimonials {
    background: var(--csh-surface-muted) !important;
}

.csh-vnext.page-forbuyers #testimonials h2,
.csh-vnext.page-forbuyers #testimonials .content-text,
.csh-vnext.page-forbuyers #testimonials .testimonial {
    text-align: center;
}

.csh-vnext.page-forbuyers #testimonials .owl-stage-outer,
.csh-vnext.page-forbuyers #testimonials .owl-stage,
.csh-vnext.page-forbuyers #testimonials .owl-item,
.csh-vnext.page-forbuyers #testimonials .owl-item .item {
    background: transparent !important;
}

.csh-vnext.page-forbuyers #testimonials .testimonial {
    width: 100%;
    margin: 0 auto;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    color: var(--csh-text);
    background: var(--csh-surface);
    border: 1px solid var(--csh-border);
    border-radius: var(--csh-radius-lg);
    box-shadow: var(--csh-shadow-sm);
}

.csh-vnext.page-forbuyers #testimonials .testimonial .quote {
    max-width: 70rem;
    margin: 0 auto;
    color: var(--csh-text);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    font-style: italic;
    line-height: 1.75;
}

.csh-vnext.page-forbuyers #testimonials .testimonial .stars {
    margin-top: 1rem;
    color: #f5b50a;
}

.csh-vnext.page-forbuyers #testimonials .testimonial .stars i {
    margin: 0 .12rem;
    color: #f5b50a;
}

.csh-vnext.page-forbuyers #testimonials .testimonial .author {
    margin-top: 1rem;
    color: var(--csh-text-muted);
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .csh-vnext.page-forbuyers .header-page { min-height: 590px; }
    .csh-vnext.page-forbuyers .search-box-header {
        right: 1rem;
        left: 1rem;
        width: auto;
        padding: 1.35rem;
    }
    .csh-vnext.page-forbuyers #features {
        margin-top: -48px;
    }
    .csh-vnext.page-forbuyers #features [class*="col-"] {
        flex: 0 0 50%;
        width: 50%;
    }
    .csh-vnext.page-forbuyers .content-text .embed-responsive {
        width: 100%;
    }
    .csh-vnext.page-forbuyers #for-buyers-form .form-group.row > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
    }
}
