/* RS Group listings portal — app-style search (map + list) */
body.portal{background:#fff;overflow-x:hidden}
.ptop{background:var(--ink);color:#fff;position:sticky;top:0;z-index:80}
.ptop-in{height:3.6rem;padding:0 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.pbrand{display:flex;align-items:baseline;gap:.6rem}
.pbrand{color:#fff}
.pbrand b{font-family:'Manrope';font-weight:800;font-size:1.15rem;letter-spacing:.01em}
.pbrand span{font-family:'Manrope';font-weight:700;color:var(--orange);font-size:1.05rem;padding-left:.6rem;border-left:1px solid rgba(255,255,255,.25);font-size:.82rem;font-weight:600;color:rgba(255,255,255,.7)}
.plinks{display:flex;align-items:center;gap:1.1rem;font-size:.82rem}
.plinks .back{color:rgba(255,255,255,.7)}
.plinks .back:hover{color:var(--orange)}
.plinks .lng{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.2rem .6rem;font-weight:600;font-size:.72rem}

.pbar{position:sticky;top:3.6rem;z-index:70;background:#fff;border-bottom:1px solid var(--grey-light)}
.pbar-in{padding:.7rem 1.4rem;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.psearch{flex:1 1 280px;max-width:420px;display:flex;align-items:center;gap:.5rem;border:1px solid var(--grey-light);border-radius:999px;padding:0 .9rem;background:var(--offwhite)}
.psearch [data-icon]{color:var(--orange)}
.psearch input{border:0;background:transparent;padding:.65rem 0}
.psearch input:focus{outline:none}
.dd{position:relative}
.dd summary,.chipck{list-style:none;cursor:pointer;border:1px solid var(--grey-light);border-radius:999px;padding:.55rem .95rem;font-size:.84rem;font-weight:500;display:flex;align-items:center;gap:.4rem;background:#fff;white-space:nowrap;user-select:none;margin:0}
.dd summary::-webkit-details-marker{display:none}
.dd summary .car{font-size:.7rem;color:var(--grey-medium)}
.dd.act summary,.chipck.on{border-color:var(--ink);background:var(--ink);color:#fff}
.dd.act summary .car{color:rgba(255,255,255,.6)}
.dd summary i{font-style:normal;background:var(--orange);color:#fff;border-radius:999px;font-size:.66rem;padding:.05rem .4rem}
.chipck input{display:none}
.pop{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--grey-light);border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.14);padding:1.1rem;min-width:300px;z-index:90;display:grid;gap:.8rem}
.dd:last-of-type .pop{min-width:420px}
.pop label{font-size:.8rem;color:var(--grey-medium);display:grid;gap:.3rem;margin:0}
.pop .ck{display:flex;color:var(--ink);font-size:.86rem}
.pop .two{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.pop .cols2{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem;max-height:200px;overflow:auto}
.pop .pl{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--charcoal);margin-top:.3rem}
.pop-f{display:flex;justify-content:flex-end;border-top:1px solid var(--grey-light);padding-top:.8rem}
.quick{display:flex;flex-wrap:wrap;gap:.35rem}
.qp{border:1px solid var(--grey-light);background:var(--offwhite);border-radius:999px;padding:.35rem .7rem;font-size:.78rem;cursor:pointer}
.qp:hover{border-color:var(--orange);color:var(--orange)}
.radios{display:grid;gap:.1rem}
.reset{font-size:.82rem;color:var(--orange);font-weight:600;margin-left:.3rem}
.js .pop-f{display:none}

.pmain{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:calc(100vh - 7.2rem)}
.plist{padding:1.3rem 1.4rem 0;min-width:0}
.plist .rbar{margin-bottom:1rem}
.plist .rbar small{display:block;color:var(--grey-medium);font-size:.78rem;margin-top:.15rem}
.plist .lgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.plist .lcard2 .body{padding:.9rem 1rem 1rem}
.plist .lcard2 .price b{font-size:1.3rem}
.plist .lcard2 h3{font-size:.93rem}
.plist .lcard2 .incl,.plist .lcard2 .agent-line{display:none}
.plist .lcard2 .acts .btn{padding:.5rem .9rem;font-size:.74rem}
.plist .lcard2.hl{box-shadow:0 0 0 2px var(--orange)}
.vt{display:none;border:1px solid var(--grey-light);border-radius:999px;overflow:hidden}
.vt button{border:0;background:#fff;padding:.45rem .9rem;font-size:.8rem;font-weight:600;cursor:pointer}
.vt button.on{background:var(--ink);color:#fff}
.pfoot{margin:2.5rem -1.4rem 0;padding:1.3rem 1.4rem;border-top:1px solid var(--grey-light);font-size:.78rem;color:var(--grey-medium)}
.pfoot a:hover{color:var(--orange)}

.pmap{position:sticky;top:7.25rem;height:calc(100vh - 7.25rem);border-left:1px solid var(--grey-light);background:#e9eef0}
.pmapc{position:absolute !important;inset:0}
.mapnote{position:absolute;left:.8rem;bottom:.8rem;z-index:500;background:rgba(255,255,255,.92);font-size:.72rem;color:var(--grey-medium);padding:.35rem .6rem;border-radius:6px}
.ppin{background:var(--ink);color:#fff;font:700 12px/1 Inter,sans-serif;padding:.45rem .6rem;border-radius:999px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.25);border:2px solid #fff;transform:translate(-50%,-50%);display:inline-block;transition:.15s}
.ppin.hl,.ppin:hover{background:var(--orange);transform:translate(-50%,-50%) scale(1.12);z-index:1000}
.leaflet-div-icon.pwrap{background:none;border:0}

@media(max-width:1100px){.plist .lgrid{grid-template-columns:1fr}}
@media(max-width:860px){
  .pmain{grid-template-columns:1fr}
  .pmap{display:none;position:fixed;inset:7.2rem 0 0 0;height:auto;z-index:60}
  .showmap .pmap{display:block}
  .showmap .plist .lgrid,.showmap .plist .pager{display:none}
  .vt{display:inline-flex}
  .plist .lgrid{grid-template-columns:1fr}
  .plinks .back{display:none}
  .pbar-in{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .pbar-in::-webkit-scrollbar{display:none}
  .psearch{flex:0 0 220px}
  .pop{position:fixed;left:.8rem;right:.8rem;top:auto;min-width:0 !important}
  .rbar-r .sortl{display:none}
}
.pbrand b,.pbrand span{white-space:nowrap}
@media(max-width:560px){.ptop-in{padding:0 .9rem}.pbrand b{font-size:1rem}.pbrand span{font-size:.92rem;padding-left:.45rem}.plinks{gap:.5rem}.plinks .btn{padding:.45rem .75rem;font-size:.7rem}}

/* app = filters + apartments only */
.pmain.nomap{display:block;max-width:1320px;margin:0 auto;min-height:auto}
.pmain.nomap .plist{padding:1.4rem 1.4rem 0}
.pmain.nomap .lgrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.pmain.nomap .pfoot{margin:3rem 0 0;padding:1.2rem 0;text-align:center}
@media(max-width:860px){.pmain.nomap .lgrid{grid-template-columns:1fr}}
/* apartment page inside the app */
.appback{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--charcoal);padding-top:1.1rem}
.appback:hover{color:var(--orange)}
