/* Property Listing Perfect Layout */
.plp-listings-wrap,
.plp-listings-wrap *,
.plp-search-card,
.plp-search-card *{
    box-sizing:border-box;
}
.plp-listings-wrap{
    width:100%;
    background:transparent!important;
    padding:0;
    margin:0 auto;
    font-family:Poppins,Inter,Arial,sans-serif;
    color:#2e2e35;
    overflow:hidden;
}
.plp-listings-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:30px;
    margin-bottom:40px;
}
.plp-featured-text{
    font-size:19px;
    line-height:1;
    letter-spacing:7px;
    text-transform:uppercase;
    color:#4c63d9;
    font-weight:700;
    margin-bottom:18px;
}
.plp-head-left h2{
    margin:0 0 12px;
    color:#2d2e34;
    font-size:36px;
    line-height:1.13;
    font-weight:800;
    letter-spacing:-1px;
}
.plp-head-left p{
    margin:0;
    max-width:450px;
    color:#7d7f86;
    font-size:15.5px;
    line-height:1.7;
    font-weight:400;
}
.plp-filter-pills{
    display:flex;
    align-items:center;
    gap:17px;
    flex-shrink:0;
    padding-top:28px;
    padding-right:6px;
}
.plp-filter-pills a,
.plp-filter-pills button{
    width:72px;
    height:44px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none!important;
    border:1.5px solid #4c63d9;
    color:#4c63d9;
    font-size:14px;
    font-weight:600;
    background:#fff;
    transition:.25s ease;
    box-shadow:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    padding:0!important;
    margin:0!important;
    font-family:inherit!important;
    cursor:pointer;
    text-transform:none!important;
    letter-spacing:0!important;
}
.plp-filter-pills a.is-active,
.plp-filter-pills button.is-active,
.plp-filter-pills a:hover,
.plp-filter-pills button:hover{
    background:#4c63d9;
    color:#fff;
}
.plp-cards-viewport{
    display:flex;
    align-items:flex-start;
    gap:44px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    padding:0 0 18px;
    scrollbar-width:none;
    cursor:grab;
    user-select:none;
}
.plp-cards-viewport::-webkit-scrollbar{display:none;}
.plp-cards-viewport.is-dragging{cursor:grabbing;}
.plp-property-card{
    width:305px;
    min-width:305px;
    flex:0 0 305px;
    background:transparent;
    border:0;
    box-shadow:none;
    scroll-snap-align:start;
}
.plp-card-image{
    position:relative;
    display:block;
    width:305px;
    height:304px;
    border-radius:26px;
    overflow:hidden;
    background:#eaf1fb;
    text-decoration:none!important;
    box-shadow:none!important;
}
.plp-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.001);
}
.plp-image-placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#e6edf8,#fbefe7);
    color:#4c63d9;
    font-size:80px;
    font-weight:700;
}
.plp-card-badge{
    position:absolute;
    left:50%;
    bottom:26px;
    transform:translateX(-50%);
    min-height:39px;
    padding:0 22px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    white-space:nowrap;
    font-size:15px;
    font-weight:700;
    line-height:1;
    box-shadow:0 10px 26px rgba(16,23,40,.08);
}
.plp-badge-icon{
    font-size:18px;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.plp-badge-popular{background:#ffe4e1;color:#ff1717;}
.plp-badge-new{background:#e8f8ff;color:#229cf4;}
.plp-badge-discount{background:#e9ffee;color:#09bd43;}
.plp-card-body{
    padding-top:20px;
}
.plp-card-price{
    color:#2d2e34;
    font-size:27px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.4px;
    margin-bottom:10px;
}
.plp-card-body h3{
    margin:0 0 6px!important;
    font-size:17px!important;
    line-height:1.45!important;
    color:#2d2e34!important;
    font-weight:700!important;
    letter-spacing:-.1px;
}
.plp-card-body h3 a{
    color:inherit!important;
    text-decoration:none!important;
    box-shadow:none!important;
}
.plp-card-address{
    color:#858890;
    font-size:14.5px;
    line-height:1.45;
    margin:0 0 14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.plp-card-meta{
    display:flex;
    align-items:center;
    gap:23px;
    color:#2d2e34;
    font-size:15px;
    line-height:1;
    font-weight:500;
}
.plp-card-meta span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
}
.plp-meta-icon{
    width:28px;
    height:20px;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#25252a;
    line-height:1;
    transform:translateY(-1px);
}
.plp-meta-svg{
    width:27px;
    height:20px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.plp-empty-state{
    width:100%;
    min-height:160px;
    border:1px dashed #d7d7df;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    color:#777b86;
    background:#fff;
    text-align:center;
    padding:30px;
}

/* Search Form */
.plp-search-card{
    width:100%;
    max-width:376px;
    background:#fff!important;
    border-radius:18px 18px 28px 28px;
    font-family:Poppins,Inter,Arial,sans-serif;
    box-shadow:0 18px 55px rgba(32,39,84,.10);
    overflow:hidden;
    color:#33343b;
}
.plp-search-form{
    margin:0!important;
    padding:0!important;
}
.plp-search-tabs{
    height:71px;
    display:grid;
    grid-template-columns:1fr 1fr;
    border-bottom:1px solid #cfcfd4;
    position:relative;
}
.plp-search-tabs button{
    position:relative;
    appearance:none;
    border:0;
    background:transparent;
    color:#808188;
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    outline:none;
}
.plp-search-tabs button.is-active{
    color:#f0a24d;
}
.plp-search-tabs button.is-active:after{
    content:"";
    position:absolute;
    height:3px;
    width:72%;
    left:14%;
    bottom:-1px;
    border-radius:999px 999px 0 0;
    background:#4c63d9;
}
.plp-search-fields{
    padding:44px 36px 53px;
    display:flex;
    flex-direction:column;
    gap:26px;
}
.plp-field-wrap{
    display:block;
    width:100%;
    margin:0!important;
    position:relative;
}
.plp-field-wrap input,
.plp-field-wrap select{
    width:100%!important;
    height:53px!important;
    border:0!important;
    border-radius:18px!important;
    background:#f4f4f4!important;
    color:#5b5d65!important;
    font-family:inherit!important;
    font-size:14.5px!important;
    font-weight:400!important;
    padding:0 18px!important;
    box-shadow:none!important;
    outline:none!important;
    line-height:53px!important;
}
.plp-field-wrap input::placeholder{
    color:#b4b5ba!important;
    opacity:1;
}
.plp-field-wrap select{
    color:#b4b5ba!important;
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
}
.plp-select-wrap:after{
    content:"";
    position:absolute;
    right:21px;
    top:50%;
    width:0;
    height:0;
    border-left:6px solid transparent;
    border-right:6px solid transparent;
    border-top:6px solid #a8a9ad;
    transform:translateY(-35%);
    pointer-events:none;
}
.plp-advance-btn{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    border:0!important;
    background:transparent!important;
    color:#f0a24d!important;
    padding:0!important;
    width:max-content!important;
    min-height:18px!important;
    margin:-2px 0 26px!important;
    font-family:inherit!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1!important;
    cursor:pointer;
    box-shadow:none!important;
}
.plp-advance-btn span{
    font-size:17px;
    line-height:1;
}
.plp-main-search-btn{
    width:100%!important;
    height:53px!important;
    border:0!important;
    border-radius:999px!important;
    background:#f2b158!important;
    color:#fff!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:800!important;
    cursor:pointer;
    box-shadow:none!important;
    text-transform:none!important;
    letter-spacing:0!important;
}
.plp-main-search-btn:hover{
    background:#efa84d!important;
    color:#fff!important;
}
.plp-search-icon{
    width:17px;
    height:17px;
    border:1.8px solid #fff;
    border-radius:50%;
    display:inline-block;
    position:relative;
}
.plp-search-icon:after{
    content:"";
    position:absolute;
    width:7px;
    height:1.8px;
    border-radius:999px;
    background:#fff;
    right:-5px;
    bottom:0;
    transform:rotate(45deg);
    transform-origin:center;
}

@media (max-width: 980px){
    .plp-listings-head{flex-direction:column;margin-bottom:30px;}
    .plp-filter-pills{padding-top:0;}
    .plp-head-left h2{font-size:32px;}
}
@media (max-width: 620px){
    .plp-featured-text{font-size:15px;letter-spacing:5px;margin-bottom:14px;}
    .plp-head-left h2{font-size:28px;}
    .plp-head-left p{font-size:14px;}
    .plp-filter-pills{gap:10px;width:100%;overflow-x:auto;}
    .plp-filter-pills a,
.plp-filter-pills button{width:68px;height:42px;font-size:13px;}
    .plp-cards-viewport{gap:24px;}
    .plp-property-card,.plp-card-image{width:285px;min-width:285px;flex-basis:285px;}
    .plp-card-image{height:285px;border-radius:24px;}
    .plp-search-card{max-width:100%;}
    .plp-search-fields{padding:34px 22px 38px;gap:22px;}
}
