/* BPP PROJECTS PREMIUM V2.1 CSS SCOPE FIX */
/* =============================================================
   BESTPROPERTYPLUG — PROJECTS PREMIUM DIRECT BLADE V2
   ============================================================= */

body{
    --p2-green:#079455;
    --p2-green-2:#0aaa62;
    --p2-deep:#063f30;
    --p2-dark:#10261c;
    --p2-muted:#708077;
    --p2-border:#dce8e2;
    --p2-soft:#f3f8f5;
    --p2-surface:#fff;
    background:#fff;
}

body .bppp2{
    color:var(--p2-dark);
}

body .bppp2-container{
    width:min(1180px,calc(100% - 40px));
    margin-inline:auto;
}


/* HERO */

body .bppp2-hero{
    position:relative;
    overflow:hidden;
    min-height:245px;
    background:
        radial-gradient(circle at 89% 50%,rgba(7,148,85,.16),transparent 25%),
        linear-gradient(115deg,#fbfdfc 0%,#f4f9f6 54%,#edf7f2 100%);
    border-bottom:1px solid #e5eee9;
}

body .bppp2-hero__inner{
    position:relative;
    min-height:245px;
    padding:39px 0 46px;
}

body .bppp2-breadcrumb{
    display:flex;
    gap:8px;
    align-items:center;
    margin-bottom:20px;
    color:#74847b;
    font-size:12px;
    font-weight:700;
}

body .bppp2-breadcrumb a{
    color:#607169;
    text-decoration:none;
}

body .bppp2-hero__copy{
    position:relative;
    z-index:2;
    max-width:750px;
}

body .bppp2-eyebrow{
    display:inline-flex;
    margin-bottom:9px;
    color:var(--p2-green);
    font-size:11px;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
}

body .bppp2-hero h1{
    max-width:730px;
    margin:0 0 11px;
    color:#10271c;
    font-size:42px;
    font-weight:900;
    line-height:1.05;
    letter-spacing:-.04em;
}

body .bppp2-hero p{
    max-width:700px;
    margin:0;
    color:#65766d;
    font-size:15px;
    line-height:1.6;
}

body .bppp2-hero__art{
    position:absolute;
    right:0;
    bottom:0;
    width:410px;
    height:210px;
    pointer-events:none;
}

body .bppp2-building{
    position:absolute;
    bottom:-12px;
    border:1px solid rgba(6,101,62,.08);
    background:
        repeating-linear-gradient(
            90deg,
            rgba(7,148,85,.08) 0 14px,
            transparent 14px 28px
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,.58),
            rgba(7,148,85,.08)
        );
    transform:skewY(-5deg);
}

body .bppp2-building--1{
    right:185px;
    width:90px;
    height:135px;
}

body .bppp2-building--2{
    right:103px;
    width:105px;
    height:180px;
}

body .bppp2-building--3{
    right:20px;
    width:96px;
    height:114px;
}

body .bppp2-hero__motto{
    position:absolute;
    right:8px;
    top:18px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    color:#517065;
    font-family:Georgia,serif;
    font-style:italic;
    font-size:18px;
    transform:rotate(-7deg);
}

body .bppp2-hero__motto strong{
    font-weight:500;
}

body .bppp2-hero__motto i{
    width:42px;
    height:2px;
    margin-top:7px;
    background:var(--p2-green);
}


/* MARKET SHELL */

body .bppp2-market{
    padding:0 0 64px;
    background:
        linear-gradient(#fff,#fbfdfc);
}

body .bppp2-shell{
    display:grid;
    grid-template-columns:305px minmax(0,1fr);
    gap:22px;
    align-items:start;
    margin-top:-26px;
    padding:20px;
    background:rgba(255,255,255,.98);
    border:1px solid #e0eae5;
    border-radius:26px;
    box-shadow:
        0 22px 55px rgba(18,73,51,.09);
    position:relative;
    z-index:4;
}


/* SIDEBAR */

body .bppp2-sidebar{
    position:sticky;
    top:126px;
    z-index:15;
}

body .bppp2-filter{
    padding:22px;
    background:
        linear-gradient(180deg,#fbfdfc,#f5f9f7);
    border:1px solid #e0eae5;
    border-radius:18px;
}

body .bppp2-filter__header{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:12px;
    align-items:start;
    margin-bottom:20px;
    padding-bottom:18px;
    border-bottom:1px solid #e1ebe6;
}

body .bppp2-filter__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    color:var(--p2-green);
    background:#e7f7ef;
    border-radius:12px;
}

body .bppp2-filter__icon svg{
    width:20px;
    height:20px;
}

body .bppp2-filter__header h2{
    margin:0 0 5px;
    color:#0e3424;
    font-size:20px;
    font-weight:900;
    line-height:1.15;
    letter-spacing:-.025em;
}

body .bppp2-filter__header p{
    margin:0;
    color:#75847c;
    font-size:11.5px;
    line-height:1.5;
}


/* FIELDS */

body .bppp2-field,
body .bppp2-range-section,
body .bppp2-amenities{
    margin-bottom:17px;
}

body .bppp2-field > label,
body .bppp2-native-filter label,
body .bppp2-native-filter .title-select{
    display:block;
    margin:0 0 7px;
    color:#1c3428;
    font-size:11.5px;
    font-weight:800;
}

body .bppp2-input-icon{
    position:relative;
}

body .bppp2-input-icon > svg:first-child{
    position:absolute;
    left:13px;
    top:50%;
    width:17px;
    height:17px;
    color:#778980;
    transform:translateY(-50%);
    z-index:2;
}

body .bppp2-input-icon__right{
    position:absolute;
    right:13px;
    top:50%;
    width:17px;
    height:17px;
    color:#73857b;
    transform:translateY(-50%);
}

body .bppp2-input-icon input{
    padding-left:40px!important;
    padding-right:40px!important;
}

body .bppp2-field input,
body .bppp2-native-filter select,
body .bppp2-native-filter .nice-select,
body .bppp2-native-filter .multi-select-trigger{
    width:100%;
    height:44px;
    min-height:44px;
    padding:0 13px;
    color:#273c31;
    background:#fff;
    border:1px solid #dce6e1;
    border-radius:10px;
    box-shadow:none;
    outline:0;
    font-size:11.5px;
}

body .bppp2-native-filter .nice-select{
    display:flex;
    align-items:center;
}

body .bppp2-native-filter .multi-select-trigger{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

body .bppp2-native-filter .multi-select-options{
    border:1px solid #dce8e2;
    border-radius:10px;
    box-shadow:0 12px 25px rgba(15,61,43,.12);
}

body .bppp2-filter-pair{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}


/* PRICE + FLAT INPUTS */

body .bppp2-range-section{
    padding-top:2px;
}

body .bppp2-section-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:9px;
}

body .bppp2-section-heading > div{
    display:flex;
    flex-direction:column;
    gap:2px;
}

body .bppp2-section-heading strong{
    color:#1a3327;
    font-size:11.5px;
    font-weight:900;
}

body .bppp2-section-heading small,
body .bppp2-section-heading span{
    color:#829088;
    font-size:9.5px;
    font-weight:700;
}

body .bppp2-range-inputs{
    display:grid;
    grid-template-columns:1fr 12px 1fr;
    gap:7px;
    align-items:end;
}

body .bppp2-range-inputs > i{
    padding-bottom:13px;
    color:#94a199;
    text-align:center;
    font-style:normal;
}

body .bppp2-range-inputs label > span{
    display:block;
    margin:0 0 5px;
    color:#809087;
    font-size:9.5px;
    font-weight:700;
}

body .bppp2-range-inputs label > div{
    display:flex;
    align-items:center;
    height:42px;
    overflow:hidden;
    background:#fff;
    border:1px solid #dce7e1;
    border-radius:9px;
}

body .bppp2-range-inputs input{
    min-width:0;
    width:100%;
    height:40px;
    padding:0 8px;
    border:0;
    outline:0;
    background:transparent;
    color:#20372b;
    font-size:10.5px;
    font-weight:700;
}

body .bppp2-range-inputs small{
    padding:0 8px;
    color:#61736a;
    font-size:9px;
    white-space:nowrap;
}


/* AMENITY PILLS */

body .bppp2-amenity-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

body .bppp2-amenity{
    position:relative;
    margin:0;
    cursor:pointer;
}

body .bppp2-amenity input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

body .bppp2-amenity span{
    display:flex;
    align-items:center;
    gap:5px;
    min-height:27px;
    padding:5px 8px;
    color:#596a61;
    background:#fff;
    border:1px solid #dce7e1;
    border-radius:999px;
    font-size:9px;
    font-weight:700;
    transition:.18s ease;
}

body .bppp2-amenity i{
    display:none;
    font-style:normal;
}

body .bppp2-amenity input:checked + span{
    color:#067747;
    background:#e9f8f0;
    border-color:#78c79f;
}

body .bppp2-amenity input:checked + span i{
    display:inline;
}


/* FILTER BOTTOM */

body .bppp2-filter__bottom{
    margin-top:22px;
    padding-top:17px;
    border-top:1px solid #dde8e2;
}

body .bppp2-reset{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-bottom:11px;
    color:#718178;
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}

body .bppp2-reset svg{
    width:14px;
    height:14px;
}

body .bppp2-submit{
    display:grid;
    grid-template-columns:20px 1fr 20px;
    align-items:center;
    width:100%;
    min-height:49px;
    padding:0 15px;
    border:0;
    border-radius:11px;
    color:#fff;
    background:
        linear-gradient(135deg,#057647,#08a85e);
    box-shadow:
        0 10px 22px rgba(7,148,85,.2);
    font-size:11.5px;
    font-weight:900;
}

body .bppp2-submit svg{
    width:17px;
    height:17px;
}

body .bppp2-submit svg:last-child{
    justify-self:end;
}


/* TOOLBAR */

body .bppp2-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:58px;
    margin-bottom:14px;
    padding:8px 10px 8px 14px;
    background:#fff;
    border:1px solid #e1ebe5;
    border-radius:13px;
}

body .bppp2-result-count{
    display:flex;
    gap:5px;
    align-items:center;
    color:#718078;
    font-size:11.5px;
}

body .bppp2-result-count strong{
    color:#173027;
    font-weight:900;
}

body .bppp2-toolbar__actions{
    display:flex;
    align-items:center;
    gap:7px;
}

body .bppp2-view-switch{
    display:flex;
    gap:4px;
    padding:3px;
    border:1px solid #e0e8e4;
    border-radius:9px;
}

body .bppp2-view-switch a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:33px;
    height:33px;
    color:#829088;
    border-radius:7px;
}

body .bppp2-view-switch a.is-active{
    color:#075d3c;
    background:#edf8f2;
}

body .bppp2-view-switch svg{
    width:17px;
    height:17px;
}

body .bppp2-per-page,
body .bppp2-sort{
    display:flex;
    align-items:center;
    gap:5px;
    height:40px;
    padding:0 12px;
    color:#465a50;
    background:#fff;
    border:1px solid #dfe8e3;
    border-radius:9px;
    font-size:10px;
}

body .bppp2-per-page span,
body .bppp2-sort strong{
    color:#24392e;
    font-weight:800;
}

body .bppp2-per-page small,
body .bppp2-sort span{
    color:#829088;
}

body .bppp2-mobile-filter{
    display:none;
}


/* PROJECT GRID */

body .bppp2-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

body .bppp2-card{
    overflow:hidden;
    background:#fff;
    border:1px solid #dfe8e3;
    border-radius:14px;
    box-shadow:
        0 5px 18px rgba(19,64,45,.045);
    transition:.2s ease;
}

body .bppp2-card:hover{
    transform:translateY(-3px);
    border-color:#b9d8c8;
    box-shadow:
        0 15px 31px rgba(14,73,47,.11);
}

body .bppp2-card__media{
    position:relative;
    height:182px;
    overflow:hidden;
    background:#eaf1ed;
}

body .bppp2-card__image,
body .bppp2-card__image .images-style,
body .bppp2-card__image .swiper,
body .bppp2-card__image img{
    width:100%;
    height:100%;
}

body .bppp2-card__image img{
    display:block;
    object-fit:cover;
    transition:transform .35s ease;
}

body .bppp2-card:hover .bppp2-card__image img{
    transform:scale(1.025);
}

body .bppp2-featured{
    position:absolute;
    top:11px;
    left:11px;
    z-index:4;
    padding:5px 9px;
    color:#fff;
    background:#08a75f;
    border-radius:5px;
    font-size:9px;
    font-weight:900;
}

body .bppp2-wishlist{
    position:absolute;
    right:10px;
    top:10px;
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    padding:0;
    color:#fff;
    background:rgba(26,42,34,.47);
    border:1px solid rgba(255,255,255,.45);
    border-radius:8px;
    backdrop-filter:blur(5px);
}

body .bppp2-wishlist svg{
    width:16px;
    height:16px;
}

body .bppp2-category{
    position:absolute;
    left:11px;
    bottom:10px;
    z-index:4;
    padding:4px 8px;
    color:#20372c;
    background:#fff;
    border-radius:5px;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
    font-size:9px;
    font-weight:800;
}

body .bppp2-card__body{
    padding:14px 14px 13px;
}

body .bppp2-card__title{
    display:block;
    margin-bottom:7px;
    color:#152a20;
    font-size:13px;
    font-weight:900;
    line-height:1.3;
    letter-spacing:-.015em;
    text-decoration:none;
}

body .bppp2-card__location{
    display:flex;
    align-items:center;
    gap:5px;
    min-width:0;
    margin-bottom:12px;
    color:#75857d;
    font-size:9.5px;
}

body .bppp2-card__location svg{
    flex:0 0 14px;
    width:14px;
    height:14px;
    color:#637a6e;
}

body .bppp2-card__location span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

body .bppp2-card__metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    margin:0 0 12px;
}

body .bppp2-card__metrics > div{
    display:flex;
    align-items:center;
    gap:5px;
    min-width:0;
}

body .bppp2-card__metrics svg{
    flex:0 0 17px;
    width:17px;
    height:17px;
    color:#536c60;
}

body .bppp2-card__metrics span{
    display:flex;
    flex-direction:column;
    min-width:0;
}

body .bppp2-card__metrics strong{
    color:#1d3328;
    font-size:10px;
    line-height:1;
    font-weight:900;
}

body .bppp2-card__metrics small{
    margin-top:2px;
    color:#849188;
    font-size:7.5px;
    line-height:1;
}

body .bppp2-progress{
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:12px;
    color:#6f8077;
}

body .bppp2-progress__ring{
    width:19px;
    height:19px;
    flex:0 0 19px;
    border-radius:50%;
    background:
        conic-gradient(
            #09a65e var(--bpp-progress),
            #dfe9e4 0
        );
    position:relative;
}

body .bppp2-progress__ring::after{
    content:"";
    position:absolute;
    inset:4px;
    border-radius:50%;
    background:#fff;
}

body .bppp2-progress strong{
    color:#05854e;
    font-size:10px;
    font-weight:900;
}

body .bppp2-progress small{
    font-size:8.5px;
}

body .bppp2-card__footer{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:9px;
    padding-top:11px;
    border-top:1px solid #edf1ef;
}

body .bppp2-price{
    display:flex;
    flex-direction:column;
    min-width:0;
}

body .bppp2-price small{
    margin-bottom:3px;
    color:#8a978f;
    font-size:7.5px;
}

body .bppp2-price strong{
    color:#183127;
    font-size:9.5px;
    font-weight:900;
    line-height:1.35;
}

body .bppp2-view-project{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    flex:0 0 auto;
    min-height:34px;
    padding:0 10px;
    color:#07814c;
    background:#f7fcf9;
    border:1px solid #79c99f;
    border-radius:7px;
    font-size:8.5px;
    font-weight:900;
    text-decoration:none;
}

body .bppp2-view-project svg{
    width:13px;
    height:13px;
}


/* LIST VIEW */

body .bppp2-list{
    display:grid;
    gap:14px;
}

body .bppp2-card--list{
    display:grid;
    grid-template-columns:290px 1fr;
}

body .bppp2-card--list .bppp2-card__media{
    height:100%;
    min-height:215px;
}

body .bppp2-card--list .bppp2-card__body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:20px;
}

body .bppp2-list-heading{
    display:flex;
    justify-content:space-between;
    gap:14px;
}

body .bppp2-wishlist--list{
    position:static;
    flex:0 0 34px;
    color:#5a6c63;
    background:#f4f8f6;
    border-color:#dae5df;
}


/* EMPTY */

body .bppp2-empty{
    padding:70px 20px;
    text-align:center;
    background:#f8fbf9;
    border:1px dashed #cdded5;
    border-radius:16px;
}

body .bppp2-empty > div{
    display:flex;
    align-items:center;
    justify-content:center;
    width:60px;
    height:60px;
    margin:0 auto 15px;
    color:#078651;
    background:#e9f8f0;
    border-radius:50%;
}

body .bppp2-empty svg{
    width:27px;
    height:27px;
}

body .bppp2-empty h3{
    margin:0 0 6px;
}

body .bppp2-empty p{
    color:#728078;
}

body .bppp2-empty a{
    color:#07854f;
    font-weight:800;
}


/* PAGINATION */

body .bppp2-pagination{
    margin-top:27px;
}


/* FILTER DRAWER */

body .bppp2-filter-close,
body .bppp2-filter-overlay{
    display:none;
}


/* TABLET */

@media(max-width:1024px){

    body .bppp2-container{
        width:calc(100% - 28px);
    }

    body .bppp2-shell{
        grid-template-columns:270px minmax(0,1fr);
        gap:15px;
        padding:15px;
    }

    body .bppp2-sidebar{
        top:112px;
    }

    body .bppp2-card__metrics{
        grid-template-columns:repeat(2,1fr);
    }
}


/* MOBILE / SMALL TABLET */

@media(max-width:900px){

    body .bppp2-shell{
        display:block;
    }

    body .bppp2-mobile-filter{
        display:inline-flex;
        align-items:center;
        gap:6px;
        height:37px;
        padding:0 12px;
        color:#fff;
        background:#078a51;
        border:0;
        border-radius:8px;
        font-size:10px;
        font-weight:900;
    }

    body .bppp2-sidebar{
        position:fixed;
        left:0;
        top:0;
        bottom:0;
        z-index:10002;
        width:min(370px,92vw);
        padding:14px;
        overflow:auto;
        background:#f7faf8;
        transform:translateX(-105%);
        transition:transform .25s ease;
    }

    body.bppp2-filter-open .bppp2-sidebar{
        transform:translateX(0);
    }

    body .bppp2-filter{
        min-height:100%;
        padding-bottom:110px;
        border-radius:16px;
    }

    body .bppp2-filter-close{
        display:flex;
        position:absolute;
        right:25px;
        top:24px;
        z-index:5;
        align-items:center;
        justify-content:center;
        width:34px;
        height:34px;
        padding:0;
        color:#45584f;
        background:#fff;
        border:1px solid #dce7e1;
        border-radius:9px;
        font-size:22px;
    }

    body .bppp2-filter-overlay{
        position:fixed;
        inset:0;
        z-index:10001;
        background:rgba(7,29,20,.5);
        backdrop-filter:blur(3px);
        opacity:0;
        visibility:hidden;
        transition:.2s ease;
    }

    body.bppp2-filter-open .bppp2-filter-overlay{
        display:block;
        opacity:1;
        visibility:visible;
    }
}


/* PHONE */

@media(max-width:767px){

    body .bppp2-container{
        width:calc(100% - 22px);
    }

    body .bppp2-hero{
        min-height:auto;
    }

    body .bppp2-hero__inner{
        min-height:auto;
        padding:28px 0 48px;
    }

    body .bppp2-hero h1{
        max-width:95%;
        font-size:30px;
        line-height:1.08;
    }

    body .bppp2-hero p{
        max-width:92%;
        font-size:12.5px;
    }

    body .bppp2-hero__art{
        display:none;
    }

    body .bppp2-shell{
        margin-top:-20px;
        padding:10px;
        border-radius:18px;
    }

    body .bppp2-toolbar{
        align-items:flex-start;
        padding:9px;
    }

    body .bppp2-toolbar__actions{
        flex-wrap:wrap;
        justify-content:flex-end;
    }

    body .bppp2-per-page,
    body .bppp2-sort{
        display:none;
    }

    body .bppp2-grid{
        grid-template-columns:1fr;
        gap:13px;
    }

    body .bppp2-card__media{
        height:210px;
    }

    body .bppp2-card--list{
        display:block;
    }

    body .bppp2-card--list .bppp2-card__media{
        min-height:210px;
    }

    body .bppp2-card__title{
        font-size:14px;
    }

    body .bppp2-card__metrics{
        grid-template-columns:repeat(4,1fr);
    }
}
