
.bdcat-page{background:#f7f9fb;color:#15263a;font-family:Arial,sans-serif;min-height:70vh}
.bdcat-container{width:min(1160px,calc(100% - 36px));margin:0 auto}
.bdcat-hero{background:#0e2d49;padding:54px 0 50px;color:#fff}
.bdcat-kicker{font-size:11px;letter-spacing:2px;font-weight:800;color:#d4ad65;margin-bottom:10px}
.bdcat-hero h1{margin:0;color:#fff!important;font-size:42px;line-height:1.15}
.bdcat-hero p,.bdcat-description{margin:12px 0 0;color:rgba(255,255,255,.78);font-size:15px}
.bdcat-content{padding:42px 0 60px}
.bdcat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bdcat-card{background:#fff;border:1px solid #e7ebef;border-radius:10px;overflow:hidden;box-shadow:0 5px 20px rgba(20,40,60,.05)}
.bdcat-image{height:230px;display:block;position:relative;background:#e9eef2;overflow:hidden}
.bdcat-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.bdcat-card:hover .bdcat-image img{transform:scale(1.035)}
.bdcat-noimage{height:100%;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:2px;color:#8a98a5}
.bdcat-area{position:absolute;left:14px;bottom:13px;background:rgba(10,31,50,.82);color:#fff;padding:7px 10px;border-radius:5px;font-size:12px;font-weight:700}
.bdcat-body{padding:19px 18px 18px}
.bdcat-body h2{font-size:18px;line-height:1.35;margin:0 0 9px!important}
.bdcat-body h2 a{color:#172536!important;text-decoration:none}
.bdcat-price{color:#2477e8;font-size:18px;font-weight:800;margin-bottom:10px}
.bdcat-body p{color:#68717b;font-size:13px;line-height:1.65;margin:0 0 15px}
.bdcat-meta{border-top:1px solid #edf0f2;padding-top:13px;display:flex;gap:14px;flex-wrap:wrap;color:#5e6770;font-size:12px}
.bdcat-pagination{margin-top:34px}
.bdcat-pagination ul{display:flex;justify-content:center;gap:7px;list-style:none;margin:0;padding:0}
.bdcat-pagination a,.bdcat-pagination span{display:block;padding:9px 13px;background:#fff;border:1px solid #dfe5ea;border-radius:6px;text-decoration:none;color:#18324b}
.bdcat-pagination .current{background:#0e2d49;color:#fff;border-color:#0e2d49}
.bdcat-empty{background:#fff;padding:35px;border-radius:9px;text-align:center;border:1px solid #e7ebef}
@media(max-width:900px){.bdcat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .bdcat-hero{padding:38px 0}.bdcat-hero h1{font-size:32px}
 .bdcat-content{padding-top:28px}.bdcat-grid{grid-template-columns:1fr}
 .bdcat-image{height:220px}
}


/* v2.4.1 - map left + scroll properties right */
.bdcat-split-page{background:#f5f7f9}
.bdcat-mini-head{background:#fff;border-bottom:1px solid #e7ebef}
.bdcat-mini-head .bdcat-container{
    width:100%;
    max-width:none;
    padding:18px 28px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
}
.bdcat-mini-head .bdcat-kicker{color:#b5873d;margin:0 0 5px;font-size:10px}
.bdcat-mini-head h1{margin:0!important;color:#132f49!important;font-size:30px!important;line-height:1.1}
.bdcat-result-count{font-size:13px;font-weight:700;color:#68717b}

.bdcat-split-wrap{
    display:grid;
    grid-template-columns:44% 56%;
    height:calc(100vh - 210px);
    min-height:560px;
    background:#fff;
}
.bdcat-map-pane{
    position:relative;
    min-width:0;
    border-right:1px solid #e2e7eb;
    background:#e9eef2;
}
#bdcat-map{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:1;
}
.bdcat-list-pane{
    min-width:0;
    height:100%;
    overflow-y:auto;
    padding:18px;
    background:#f6f8fa;
}
.bdcat-scroll-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.bdcat-list-pane .bdcat-card{
    border-radius:9px;
    box-shadow:0 3px 14px rgba(15,35,55,.05);
}
.bdcat-list-pane .bdcat-image{height:205px}
.bdcat-list-pane .bdcat-body{padding:15px}
.bdcat-list-pane .bdcat-body h2{font-size:16px!important}
.bdcat-list-pane .bdcat-price{font-size:16px}
.bdcat-list-pane .bdcat-body p{font-size:12px;margin-bottom:12px}
.bdcat-list-pane .bdcat-meta{gap:10px;font-size:11px}
.bdcat-popup strong{font-size:13px}
.bdcat-popup a{font-weight:700;text-decoration:none}

@media(max-width:1000px){
    .bdcat-split-wrap{grid-template-columns:42% 58%}
    .bdcat-scroll-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
    .bdcat-mini-head .bdcat-container{padding:14px 16px}
    .bdcat-mini-head h1{font-size:24px!important}
    .bdcat-result-count{font-size:11px}
    .bdcat-split-wrap{
        display:block;
        height:auto;
        min-height:0;
    }
    .bdcat-map-pane{
        height:320px;
        border-right:0;
        border-bottom:1px solid #e2e7eb;
    }
    #bdcat-map{position:relative;height:320px}
    .bdcat-list-pane{
        height:auto;
        overflow:visible;
        padding:14px;
    }
    .bdcat-scroll-grid{grid-template-columns:1fr}
    .bdcat-list-pane .bdcat-image{height:220px}
}


/* v2.4.2 - stable map + normal page scroll + footer */
.bdcat-split-wrap{
    display:grid!important;
    grid-template-columns:42% 58%!important;
    height:auto!important;
    min-height:0!important;
    align-items:start!important;
    background:#fff!important;
}
.bdcat-map-pane{
    position:relative!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    border-right:1px solid #e2e7eb!important;
    background:#eef2f4!important;
    align-self:stretch!important;
}
.bdcat-map-sticky{
    position:sticky!important;
    top:0!important;
    width:100%!important;
    height:calc(100vh - 175px)!important;
    min-height:520px!important;
    max-height:760px!important;
    background:#e8edf0!important;
    overflow:hidden!important;
}
.bdcat-map-frame{
    display:block!important;
    width:100%!important;
    height:100%!important;
    border:0!important;
    margin:0!important;
    padding:0!important;
    background:#e8edf0!important;
}
.bdcat-map-caption{
    position:absolute!important;
    left:16px!important;
    bottom:16px!important;
    z-index:2!important;
    background:rgba(13,45,73,.9)!important;
    color:#fff!important;
    padding:8px 12px!important;
    border-radius:6px!important;
    font-size:12px!important;
    font-weight:700!important;
    pointer-events:none!important;
}
.bdcat-list-pane{
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:18px!important;
    background:#f6f8fa!important;
}
.bdcat-scroll-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
}

/* Footer must remain in normal document flow */
.bdcat-page + footer,
.bdcat-page ~ footer,
footer{
    position:relative;
    z-index:2;
}

@media(max-width:1000px){
    .bdcat-split-wrap{grid-template-columns:40% 60%!important}
    .bdcat-scroll-grid{grid-template-columns:1fr!important}
}
@media(max-width:767px){
    .bdcat-split-wrap{display:block!important}
    .bdcat-map-pane{border-right:0!important;border-bottom:1px solid #e2e7eb!important}
    .bdcat-map-sticky{
        position:relative!important;
        top:auto!important;
        height:300px!important;
        min-height:300px!important;
        max-height:none!important;
    }
    .bdcat-list-pane{padding:14px!important}
    .bdcat-scroll-grid{grid-template-columns:1fr!important}
}


/* v2.4.3 - search filter above right-side properties */
.bdcat-side-filter{
    position:sticky;
    top:0;
    z-index:20;
    background:#fff;
    border:1px solid #e1e6eb;
    border-radius:9px;
    padding:11px;
    margin-bottom:16px;
    box-shadow:0 3px 12px rgba(17,39,61,.05);
}
.bdcat-filter-row{
    display:grid;
    grid-template-columns:minmax(140px,1.4fr) minmax(120px,1fr) 90px minmax(120px,1fr) 100px;
    gap:8px;
    align-items:center;
}
.bdcat-filter-row input,
.bdcat-filter-row select{
    width:100%;
    height:42px;
    min-width:0;
    border:1px solid #dce3e8;
    border-radius:6px;
    background:#fff;
    padding:0 10px;
    font-size:12px;
    color:#26394d;
    box-sizing:border-box;
}
.bdcat-filter-row button{
    height:42px;
    border:0;
    border-radius:6px;
    background:#0e2d49;
    color:#fff;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
.bdcat-reset{
    grid-column:1/-1;
    justify-self:end;
    font-size:11px;
    font-weight:700;
    color:#0e2d49;
    text-decoration:none;
    margin-top:2px;
}

@media(max-width:1150px){
    .bdcat-filter-row{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .bdcat-filter-row button{grid-column:1/-1}
}
@media(max-width:767px){
    .bdcat-side-filter{position:relative;top:auto}
    .bdcat-filter-row{grid-template-columns:1fr 1fr}
    .bdcat-filter-row input{grid-column:1/-1}
    .bdcat-filter-row button{grid-column:1/-1}
}


/* v2.4.4 - restore independent property scroll on desktop */
@media(min-width:768px){
    .bdcat-split-wrap{
        height:calc(100vh - 185px)!important;
        min-height:560px!important;
        overflow:hidden!important;
        align-items:stretch!important;
    }

    .bdcat-map-pane{
        height:100%!important;
        align-self:stretch!important;
        overflow:hidden!important;
    }

    .bdcat-map-sticky{
        position:relative!important;
        top:auto!important;
        height:100%!important;
        min-height:0!important;
        max-height:none!important;
    }

    .bdcat-map-frame{
        width:100%!important;
        height:100%!important;
    }

    .bdcat-list-pane{
        height:100%!important;
        max-height:none!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        scrollbar-gutter:stable;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior:contain;
        padding-bottom:24px!important;
    }

    .bdcat-side-filter{
        position:sticky!important;
        top:0!important;
        z-index:30!important;
    }
}

/* Mobile: normal page scroll */
@media(max-width:767px){
    .bdcat-split-wrap{
        height:auto!important;
        overflow:visible!important;
    }
    .bdcat-list-pane{
        height:auto!important;
        overflow:visible!important;
    }
}


/* v2.4.5 - search filter is NOT sticky */
.bdcat-side-filter{
    position:relative!important;
    top:auto!important;
    z-index:5!important;
}

/* Right property list still scrolls independently */
@media(min-width:768px){
    .bdcat-list-pane{
        overflow-y:auto!important;
        overflow-x:hidden!important;
    }
    .bdcat-side-filter{
        position:relative!important;
        top:auto!important;
    }
}
