
/* ==========================================================================
   SC-V2-003B - Listings col-4 + same corporate card standard as favorites
   ========================================================================== */
.sc-listings-page .page-hero {
    background: var(--primary) !important;
    color: #fff;
    padding: 52px 0 48px;
}
.sc-listings-page .page-hero::after { display:none !important; }
.sc-listings-page .page-hero h1 {
    color:#fff !important;
    font-size:40px !important;
    line-height:1.15;
    font-weight:700 !important;
    letter-spacing:-.02em !important;
}
.sc-listings-page .page-hero p { color:rgba(255,255,255,.82) !important; }
.sc-listings-page .breadcrumb,
.sc-listings-page .breadcrumb a { color:rgba(255,255,255,.72) !important; text-decoration:none !important; }

.sc-listings-page .listings-layout {
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:24px;
    padding:46px 0 82px;
    align-items:start;
}
.sc-listings-page .filter-sidebar {
    border:1px solid #e2e6ea !important;
    background:#fff;
    box-shadow:0 4px 16px rgba(28,95,168,.035);
    position:sticky;
    top:110px;
}
.sc-listings-page .filter-title,
.sc-listings-page .filter-group { border-color:#e7eaed !important; }
.sc-listings-page .filter-title strong,
.sc-listings-page .filter-group > strong { color:#333 !important; }
.sc-listings-page .filter-title a { color:var(--primary) !important; font-weight:600; }
.sc-listings-page .filter-group label { color:#626b73 !important; }
.sc-listings-page .filter-group .mini-range input,
.sc-listings-page .toolbar-actions select {
    border-color:#dfe4e8 !important;
    color:#555 !important;
    background:#fff !important;
}
.sc-listings-page .filter-apply.button-navy { background:var(--primary) !important; border-color:var(--primary) !important; color:#fff !important; }
.sc-listings-page .filter-apply.button-navy:hover { background:var(--secondary) !important; border-color:var(--secondary) !important; }

.sc-listings-page .listing-toolbar {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}
.sc-listings-page .listing-toolbar h2 { color:#333 !important; font-size:30px !important; font-weight:600 !important; margin:0 0 3px; }
.sc-listings-page .listing-toolbar p { color:#858c93 !important; margin:0; font-size:12px; }

.sc-listings-page .listings-grid.row { margin-left:-12px; margin-right:-12px; }
.sc-listings-page .listings-grid > .listing-col { padding-left:12px; padding-right:12px; }
.sc-listings-page .property-card {
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:100%;
    overflow:hidden;
    border:1px solid #e2e6e9 !important;
    background:#fff;
    box-shadow:0 4px 14px rgba(31,43,54,.035);
    transition:transform .18s ease, box-shadow .22s ease, border-color .22s ease;
}
.sc-listings-page .property-card:hover { transform:translateY(-3px); border-color:#d3dde6 !important; box-shadow:0 14px 32px rgba(28,95,168,.10) !important; }
.sc-listings-page .property-card a,
.sc-listings-page .property-card a:hover { text-decoration:none !important; }

.sc-listings-page .property-media { position:relative; aspect-ratio:1 / 1; overflow:hidden; background:#d8dde0; }
.sc-listings-page .property-media > a { display:block; width:100%; height:100%; }
.sc-listings-page .property-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.sc-listings-page .property-card:hover .property-media img { transform:scale(1.035); }
.sc-listings-page .property-badges { position:absolute; top:16px; left:16px; display:flex; flex-wrap:wrap; gap:8px; z-index:2; }
.sc-listings-page .status-badge,
.sc-listings-page .featured-badge,
.sc-listings-page .reference-badge { display:inline-flex; align-items:center; justify-content:center; min-height:27px; padding:5px 9px; font-size:9px; font-weight:700; line-height:1; letter-spacing:.02em; }
.sc-listings-page .status-badge { background:#43cb83 !important; color:#fff !important; }
.sc-listings-page .status-badge.rent { background:#00a4f2 !important; color:#fff !important; }
.sc-listings-page .featured-badge { background:#fff !important; color:#1c5fa8 !important; }
.sc-listings-page .favorite-button { position:absolute; top:16px; right:16px; display:flex; width:40px; height:40px; align-items:center; justify-content:center; border:0; border-radius:50%; background:rgba(255,255,255,.96); color:#1c5fa8 !important; box-shadow:0 8px 24px rgba(15,49,82,.15); z-index:2; }
.sc-listings-page .favorite-button.active,
.sc-listings-page .favorite-button:hover { color:#00a4f2 !important; }
.sc-listings-page .reference-badge { position:absolute; left:16px; bottom:16px; background:rgba(28,95,168,.92) !important; color:#fff !important; z-index:2; }

.sc-listings-page .property-content { display:flex; flex-direction:column; gap:13px; padding:19px 19px 18px; }
.sc-listings-page .property-type-row { display:flex; align-items:center; justify-content:space-between; gap:14px; color:#1c5fa8 !important; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.sc-listings-page .property-type-row span:last-child { color:#8a949d !important; text-align:right; }
.sc-listings-page .property-content h3 { color:#2d3238 !important; font-size:18px !important; line-height:1.30 !important; font-weight:600 !important; letter-spacing:-.01em !important; margin:0; }
.sc-listings-page .property-content h3:hover { color:#1c5fa8 !important; }
.sc-listings-page .property-location { margin:0; color:#78828a !important; font-size:12px; line-height:1.55; }
.sc-listings-page .property-location i { margin-right:7px; color:#00a4f2 !important; }
.sc-listings-page .property-specs { display:flex; flex-wrap:wrap; gap:12px 15px; padding-top:12px; border-top:1px solid #edf1f4; color:#5f6972; font-size:11px; }
.sc-listings-page .property-specs span { display:inline-flex; align-items:center; gap:7px; }
.sc-listings-page .property-specs i { color:#1c5fa8 !important; }
.sc-listings-page .property-footer { display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:12px !important; padding-top:14px; border-top:1px solid #edf1f4; }
.sc-listings-page .property-agent { order:1 !important; display:flex; align-items:center; gap:11px; width:100%; min-width:0; }
.sc-listings-page .property-agent > span { display:flex; flex:0 0 36px; width:36px; height:36px; align-items:center; justify-content:center; border-radius:50%; background:#1c5fa8 !important; color:#fff !important; font-size:11px; font-weight:700; }
.sc-listings-page .property-agent small { display:block; margin-bottom:2px; color:#98a1a9; font-size:10px; line-height:1.35; }
.sc-listings-page .property-agent strong { display:block; color:#2f3740; font-size:12px; line-height:1.38; font-weight:600; }
.sc-listings-page .property-price { order:2 !important; width:100%; padding-top:12px; border-top:1px solid #edf1f4; }
.sc-listings-page .property-price strong { display:block; color:#1e2932 !important; font-size:24px; line-height:1.12; font-weight:700; }

.sc-listings-page .empty-results { background:#fff; border:1px solid #e3e8ed; box-shadow:0 12px 34px rgba(31,43,54,.05); }
.sc-listings-page .button-copper { background:var(--secondary) !important; border-color:var(--secondary) !important; color:#fff !important; }
.sc-listings-page .button-copper:hover { background:var(--primary) !important; border-color:var(--primary) !important; }

@media (max-width: 1399px) {
    .sc-listings-page .listing-toolbar h2 { font-size:28px !important; }
}
@media (max-width: 1199px) {
    .sc-listings-page .listings-layout { grid-template-columns:230px minmax(0,1fr); }
    .sc-listings-page .property-content h3 { font-size:17px !important; }
    .sc-listings-page .property-price strong { font-size:22px; }
}
@media (max-width: 991px) {
    .sc-listings-page .page-hero h1 { font-size:34px !important; }
    .sc-listings-page .listings-layout { grid-template-columns:1fr; }
    .sc-listings-page .filter-sidebar { position:static; top:auto; }
}
@media (max-width: 767px) {
    .sc-listings-page .listing-toolbar { flex-direction:column; }
    .sc-listings-page .listing-toolbar h2 { font-size:24px !important; }
    .sc-listings-page .property-content { padding:18px 18px 18px; }
    .sc-listings-page .property-content h3 { font-size:17px !important; }
    .sc-listings-page .property-price strong { font-size:22px; }
}


/* SC-V2-003C — hard fix for Bootstrap/legacy grid collision */
.sc-listings-page .sc-listings-row {
    display:flex !important;
    flex-wrap:wrap !important;
    margin-left:-12px !important;
    margin-right:-12px !important;
    row-gap:24px !important;
}
.sc-listings-page .sc-listings-row > .listing-col {
    display:block !important;
    padding-left:12px !important;
    padding-right:12px !important;
    min-width:0 !important;
}
@media (min-width:1200px) {
    .sc-listings-page .sc-listings-row > .listing-col {
        flex:0 0 33.333333% !important;
        width:33.333333% !important;
        max-width:33.333333% !important;
    }
}
@media (min-width:768px) and (max-width:1199.98px) {
    .sc-listings-page .sc-listings-row > .listing-col {
        flex:0 0 50% !important;
        width:50% !important;
        max-width:50% !important;
    }
}
@media (max-width:767.98px) {
    .sc-listings-page .sc-listings-row > .listing-col {
        flex:0 0 100% !important;
        width:100% !important;
        max-width:100% !important;
    }
}
