/* ===== Carousel & cards ===== */
.plx-carousel{position:relative;--plx-gap:28px}
.plx-track{display:flex;gap:var(--plx-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px}
.plx-track::-webkit-scrollbar{display:none}
.plx-slide{flex:0 0 calc((100% - 3 * var(--plx-gap)) / 4);scroll-snap-align:start;min-width:0}
@media(max-width:1024px){.plx-slide{flex-basis:calc((100% - var(--plx-gap)) / 2)}}
@media(max-width:600px){.plx-carousel{--plx-gap:16px}.plx-slide{flex-basis:88%}}
.plx-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#1b1e24;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25);padding:0}
.plx-nav:hover{background:#1b1e24;color:#fff}
.plx-prev{left:-14px}.plx-next{right:-14px}
@media(max-width:600px){.plx-prev{left:4px}.plx-next{right:4px}}

/* Card: one full-bleed image, light gradient from the bottom, text over image */
.plx-card{position:relative;display:block;width:100%;aspect-ratio:351/462;height:auto;border-radius:24px;overflow:hidden;background:#1b1e24;text-decoration:none!important;isolation:isolate}
.plx-card__img{position:absolute;inset:0;display:block;background-color:#2a2e36;background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform .6s}
.plx-card:hover .plx-card__img{transform:scale(1.05)}
.plx-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.45) 24%,rgba(0,0,0,.12) 42%,rgba(0,0,0,0) 56%)}
.plx-card__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 24px 28px;display:block}
.plx-card .plx-card__title{display:block;font-size:22px;font-weight:700;line-height:1.25;margin:0 0 12px;color:#fff!important}
.plx-card .plx-card__desc{display:block;font-size:16px;font-weight:400;line-height:1.4;color:rgba(255,255,255,.92)!important}

/* Results grid */
.plx-grid{display:grid;grid-template-columns:repeat(var(--plx-cols,3),1fr);gap:24px;margin-top:28px}
@media(max-width:900px){.plx-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.plx-grid{grid-template-columns:1fr}}
.plx-pagination{margin-top:24px;text-align:center}
.plx-pagination .page-numbers{display:inline-block;padding:8px 14px;margin:0 3px;border-radius:999px;border:1px solid #ddd;text-decoration:none;color:#1b1e24}
.plx-pagination .current{background:#1b1e24;color:#fff;border-color:#1b1e24}
.plx-empty{text-align:center;padding:30px 0}

/* ===== Search ===== */
.plx-search{background:#fff;border-radius:28px;padding:22px 24px;box-shadow:0 10px 40px rgba(0,0,0,.12);font-size:16px;color:#1b1e24}
.plx-search *{box-sizing:border-box}
.plx-search__row1{display:grid;grid-template-columns:auto 1.6fr 1fr 1fr;gap:14px;align-items:center}
.plx-search select,.plx-input{width:100%;height:56px;border:1px solid #e3e3e3;border-radius:16px;padding:0 18px;font-size:16px;background-color:#fff;color:#1b1e24;font-family:inherit;box-shadow:none}
.plx-search select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%231b1e24' stroke-width='2' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 18px center}
.plx-search select:focus,.plx-input:focus{outline:0;border-color:#a67c3f;box-shadow:0 0 0 1px #a67c3f}
.plx-toggle{display:flex;background:#f4f4f2;border-radius:999px;padding:6px}
.plx-toggle input{position:absolute;opacity:0;pointer-events:none}
.plx-toggle label{padding:13px 26px;border-radius:999px;cursor:pointer;font-weight:600;color:#6b6f76;margin:0;line-height:1.2}
.plx-toggle input:checked+label{background:#1b1e24;color:#fff}
.plx-search__row2{display:flex;align-items:center;gap:20px;margin-top:16px}
.plx-adv-btn{height:56px;padding:0 28px;border-radius:999px;border:1px solid #e3e3e3;background:#fff;color:#1b1e24;font-weight:600;font-size:16px;cursor:pointer}
.plx-adv-btn[aria-expanded="true"]{border-color:#1b1e24}
.plx-browse{color:#6b6f76!important;font-weight:600;text-decoration:none!important}
.plx-browse:hover{color:#1b1e24!important}
.plx-submit{margin-left:auto;height:56px;padding:0 64px;border:0;border-radius:999px;background:#1b1e24;color:#fff;font-weight:600;font-size:16px;cursor:pointer}
.plx-submit:hover{background:#a67c3f}
.plx-adv{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid #e8e8e8}
.plx-adv label{display:block;margin-bottom:6px;color:#6b6f76;font-size:15px}
@media(max-width:900px){
	.plx-search__row1{grid-template-columns:1fr 1fr}
	.plx-toggle{grid-column:1/-1;justify-self:start}
	.plx-search__row1 .plx-q{grid-column:1/-1}
	.plx-adv{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
	.plx-search__row1{grid-template-columns:1fr}
	.plx-search__row2{flex-wrap:wrap}
	.plx-submit{width:100%;margin-left:0}
	.plx-adv{grid-template-columns:1fr}
}

/* ===== Single ===== */
.plx-single{margin:20px 0}
.plx-badge{display:inline-block;background:#1b1e24;color:#fff;border-radius:999px;padding:6px 16px;font-size:14px;font-weight:600;margin-bottom:16px}
.plx-specs{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.plx-specs li{background:#f6f5f2;border-radius:16px;padding:16px 18px;margin:0}
.plx-specs span{display:block;font-size:13px;color:#6b6f76;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.plx-specs strong{font-size:19px}
.plx-h{margin:32px 0 14px}
.plx-masonry{column-count:3;column-gap:12px}
@media(max-width:900px){.plx-masonry{column-count:2}}
@media(max-width:520px){.plx-masonry{column-count:1}}
.plx-masonry a{display:block;margin-bottom:12px;break-inside:avoid;border-radius:14px;overflow:hidden;cursor:zoom-in}
.plx-masonry img{width:100%;height:auto;display:block;transition:transform .5s}
.plx-masonry a:hover img{transform:scale(1.04)}

/* ===== Lightbox ===== */
.plx-lb{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center}
.plx-lb.open{display:flex}
.plx-lb img{max-width:90vw;max-height:88vh;border-radius:6px;object-fit:contain}
.plx-lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:48px;height:48px;font-size:30px;line-height:1;cursor:pointer;padding:0}
.plx-lb button:hover{background:rgba(255,255,255,.3)}
.plx-lb-x{top:18px;right:18px}
.plx-lb-p{left:18px;top:50%;transform:translateY(-50%)}
.plx-lb-n{right:18px;top:50%;transform:translateY(-50%)}
.plx-lb-c{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#ddd;font-size:14px}

/* ===== Single property: hide blog-style extras (theme/Elementor) ===== */
body.single-property .author-widget-wrap,
body.single-property .author-box,
body.single-property .author-info,
body.single-property .post-author,
body.single-property .entry-author,
body.single-property #comments,
body.single-property .comments-area,
body.single-property #respond,
body.single-property .comment-respond,
body.single-property .post-thumbnail,
body.single-property .post-thumb,
body.single-property .featured-image,
body.single-property .wp-post-image,
body.single-property .elementor-widget-theme-post-featured-image,
body.single-property .elementor-widget-post-comments,
body.single-property .elementor-widget-author-box{display:none!important}

/* ===== Search results page: sidebar left, results right ===== */
.plx-page{display:grid;grid-template-columns:340px minmax(0,1fr);gap:32px;align-items:start}
.plx-page__side{position:sticky;top:24px}
.plx-page__main .plx-grid{margin-top:0}
.plx-page .plx-card{height:440px;aspect-ratio:auto}
@media(max-width:600px){.plx-page .plx-grid{grid-template-columns:1fr}}
.plx-page .plx-card__title{font-size:22px}
.plx-count{margin:0 0 16px;font-size:15px;color:#6b6f76;text-transform:uppercase;letter-spacing:.04em}

.plx-search--side{background:#f6f5f2;border-radius:24px;padding:22px;box-shadow:none;display:flex;flex-direction:column}
.plx-search--side .plx-search__row1{grid-template-columns:1fr;gap:12px;order:1}
.plx-search--side .plx-toggle{width:100%;background:#fff}
.plx-search--side .plx-toggle label{flex:1;text-align:center;padding:12px 10px}
.plx-search--side .plx-adv{order:2;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;padding-top:0;border-top:0}
.plx-search--side .plx-adv[hidden]{display:grid}
.plx-search--side .plx-adv label{font-size:13px;margin-bottom:4px}
.plx-search--side .plx-search__row2{order:3;flex-direction:column;align-items:stretch;gap:12px;margin-top:16px}
.plx-search--side .plx-submit{width:100%;margin-left:0;padding:0}
.plx-search--side .plx-clear{text-align:center}
.plx-search--side select,.plx-search--side .plx-input{height:52px}

@media(max-width:900px){
	.plx-page{grid-template-columns:1fr}
	.plx-page__side{position:static}
}

/* ===== Search suggestions dropdown ===== */
.plx-q{position:relative;min-width:0}
.plx-ac{position:absolute;left:0;top:calc(100% + 8px);width:100%;min-width:300px;z-index:9999;background:#fff;border:1px solid #eee;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.18);overflow:hidden}
.plx-ac[hidden]{display:none}
.plx-ac__head{padding:18px 22px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#777;border-bottom:1px solid #eee}
.plx-ac__list{max-height:320px;overflow-y:auto}
.plx-ac__item{padding:14px 22px;cursor:pointer;color:#1b1e24;font-size:16px;line-height:1.3}
.plx-ac__item small{display:block;margin-top:4px;font-size:13px;color:#8a8d93}
.plx-ac__item.on{background:#2a6159;color:#fff}
.plx-ac__item.on small{color:rgba(255,255,255,.75)}

/* ===== Smooth Advanced search open/close ===== */
.plx-adv-wrap{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .4s ease,opacity .25s ease,visibility 0s linear .4s}
.plx-adv-wrap.open{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .4s ease,opacity .35s ease .05s,visibility 0s}
.plx-adv-in{min-height:0;overflow:hidden}
.plx-search--side .plx-adv-wrap{order:2}
@media(prefers-reduced-motion:reduce){.plx-adv-wrap,.plx-adv-wrap.open{transition:none}}
