/* Listings page (listings.html) + listing detail view (listing.html). Shpresa Lita site.
   Design: design/listings/spec.md (L1 top, L2 detail, L3 bottom) on the shared tokens of design/service/spec.md.
   Every class is prefixed sl-lx- (listings) or sl-ld- (detail); both pages carry body class sl-lx. */

.sl-lx{
  --lx-panel:#0E1622;
  --lx-panel-2:#121C2B;
  --lx-line:rgba(186,193,203,.24);
  --lx-line-2:rgba(186,193,203,.42);
  --lx-cream:#F4F1EC;
  --lx-muted:#BAC1CB;
  --lx-green:#2F7D5B;
  --lx-max:1320px;
  --lx-pad:48px;
  --lx-bar-top:70px;
}
.sl-lx-wrap{width:100%;max-width:calc(var(--lx-max) + 2 * var(--lx-pad));margin:0 auto;padding:0 var(--lx-pad)}
.sl-lx button.sl-btn--line{background:transparent}
.sl-lx button.sl-btn--line:hover{background:rgba(var(--lt-hi-rgb,255,255,255),.06)}
.sl-lx-h2{font-size:clamp(2rem,3.4vw,3rem);font-weight:600;letter-spacing:-.03em;line-height:1.06;margin:0 0 14px;color:var(--lx-cream)}
.sl-lx-h3{font-size:clamp(1.4rem,2vw,1.75rem);font-weight:600;letter-spacing:-.015em;line-height:1.15;margin:0 0 10px}
.sl-lx :focus-visible{outline:2px solid var(--lx-cream);outline-offset:2px}

/* ---------- Hero (compact, ~280px of copy under the fixed header) ---------- */
.sl-lx-hero{position:relative;isolation:isolate;overflow:hidden;padding:calc(var(--sl-header-h) + 56px) 0 52px;min-height:360px;display:flex;align-items:flex-end}
.sl-lx-hero__media{position:absolute;inset:0;z-index:-2;background:#070a10}
.sl-lx-hero__media img,.sl-lx-hero__media video{width:100%;height:100%;object-fit:cover;object-position:70% 55%}
.sl-lx-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,10,16,.92) 0%,rgba(7,10,16,.7) 42%,rgba(7,10,16,.18) 100%),linear-gradient(180deg,rgba(7,10,16,.55) 0%,rgba(7,10,16,0) 34%,rgba(7,10,16,.15) 70%,var(--sl-bg) 100%)}
.sl-lx-hero .sl-eyebrow{margin-bottom:12px}
.sl-lx-hero .sl-rule{width:48px;margin-bottom:22px}
.sl-lx-hero__h{font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:600;letter-spacing:-.035em;line-height:1.02;margin:0 0 16px;color:var(--lx-cream)}
.sl-lx-hero__sub{max-width:60ch;margin:0;font-size:clamp(1rem,1.3vw,1.15rem);font-weight:300;color:#DAD7D1;line-height:1.55}

/* ---------- Sticky filter bar ---------- */
.sl-lx-bar{position:sticky;top:var(--lx-bar-top);z-index:60;background:rgba(var(--lt-lo-rgb,9,13,21),.97);border-top:1px solid var(--lx-line);border-bottom:1px solid var(--lx-line)}
.sl-lx-bar__in{display:flex;align-items:center;gap:8px;min-height:72px;padding-top:12px;padding-bottom:12px}
.sl-lx-bar__open{display:none}
.sl-lx-sheet{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;flex-wrap:wrap}
.sl-lx-sheet__head,.sl-lx-sheet__foot{display:none}
.sl-lx-seg{display:inline-flex;border:1px solid var(--lx-line);border-radius:var(--sl-radius);overflow:hidden;flex:none}
.sl-lx-seg button{height:44px;padding:0 12px;border:0;background:transparent;color:var(--lx-muted);font-size:14px;cursor:pointer;transition:background .25s,color .25s}
.sl-lx-seg button+button{border-left:1px solid var(--lx-line)}
.sl-lx-seg button:hover{color:var(--lt-hi,#fff)}
.sl-lx-seg button[aria-pressed="true"]{background:var(--sl-red);color:var(--lt-hi,#fff)}
.sl-lx-field{position:relative;flex:none;display:block}
.sl-lx-field select{appearance:none;-webkit-appearance:none;height:44px;min-width:96px;max-width:190px;padding:0 34px 0 12px;background:var(--lx-panel);color:var(--lx-cream);border:1px solid var(--lx-line);border-radius:var(--sl-radius);font:inherit;font-size:14px;cursor:pointer;transition:border-color .2s}
.sl-lx-field::after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--lx-muted);border-bottom:1.5px solid var(--lx-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.sl-lx-field select:hover{border-color:var(--lx-line-2)}
.sl-lx-field select.is-set{border-color:rgba(225,37,27,.85)}
.sl-lx-field select option{background:var(--lt-surface,#0E1622);color:var(--lt-hi,#F4F1EC)}
.sl-lx-switch{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 4px;border:0;background:transparent;color:var(--lx-muted);font:inherit;font-size:14px;cursor:pointer;white-space:nowrap;flex:none}
.sl-lx-switch i{position:relative;width:38px;height:22px;border-radius:11px;background:var(--lt-surface,#1D2736);border:1px solid var(--lx-line-2);transition:background .25s,border-color .25s;flex:none}
.sl-lx-switch i::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--lx-cream);transition:transform .25s var(--sl-ease)}
.sl-lx-switch[aria-checked="true"]{color:var(--lt-hi,#fff)}
.sl-lx-switch[aria-checked="true"] i{background:var(--sl-red);border-color:var(--sl-red)}
.sl-lx-switch[aria-checked="true"] i::after{transform:translateX(16px)}
.sl-lx-switch--fav{border:1px solid var(--lx-line);border-radius:var(--sl-radius);padding:0 14px;color:var(--lt-text,#DAD7D1)}
.sl-lx-switch--fav svg{width:17px;height:17px}
.sl-lx-switch--fav[aria-checked="true"]{border-color:var(--sl-red)}
.sl-lx-switch--fav[aria-checked="true"] svg{fill:var(--sl-red);color:var(--sl-red)}
.sl-lx-switch--fav span{color:var(--lx-muted);font-size:12px}
.sl-lx-view{display:inline-flex;border:1px solid var(--lx-line);border-radius:var(--sl-radius);overflow:hidden;flex:none}
.sl-lx-view button{width:44px;height:44px;border:0;background:transparent;color:var(--lx-muted);display:grid;place-items:center;cursor:pointer}
.sl-lx-view button+button{border-left:1px solid var(--lx-line)}
.sl-lx-view button svg{width:18px;height:18px}
.sl-lx-view button[aria-pressed="true"]{background:var(--sl-red);color:var(--lt-hi,#fff)}
.sl-lx-count{margin:0 0 0 auto;font-size:15px;color:var(--lx-muted);white-space:nowrap;flex:none}
.sl-lx-count strong{color:var(--lx-cream);font-weight:500}
.sl-lx-field--town select{width:124px}
.sl-lx-field--type select{width:140px}
.sl-lx-field--sort select{width:124px;max-width:none}
.sl-lx-sheet .sl-lx-field:not(.sl-lx-field--town):not(.sl-lx-field--type) select{width:100px;min-width:0}
.sl-lx-pop{position:relative;flex:none}
.sl-lx-pop__btn{position:relative;height:44px;min-width:124px;padding:0 34px 0 12px;background:var(--lx-panel);color:var(--lx-cream);border:1px solid var(--lx-line);border-radius:var(--sl-radius);font:inherit;font-size:14px;text-align:left;cursor:pointer;white-space:nowrap}
.sl-lx-pop__btn::after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--lx-muted);border-bottom:1.5px solid var(--lx-muted);transform:translateY(-70%) rotate(45deg)}
.sl-lx-pop__btn:hover{border-color:var(--lx-line-2)}
.sl-lx-pop__btn.is-set{border-color:rgba(225,37,27,.85)}
.sl-lx-pop__panel{display:none;position:absolute;left:0;top:calc(100% + 8px);z-index:5;grid-template-columns:1fr 1fr;gap:10px;padding:14px;width:280px;background:var(--lt-surface,#0E1622);border:1px solid var(--lx-line-2);border-radius:var(--sl-radius);box-shadow:0 20px 50px rgba(var(--lt-shadow-rgb,0,0,0),.55)}
.sl-lx-pop.is-open .sl-lx-pop__panel{display:grid}
.sl-lx-pop__panel .sl-lx-field select{width:100%!important;max-width:none}
.sl-lx-tools{display:flex;align-items:flex-start;justify-content:flex-end;gap:16px;margin:0 0 18px}
.sl-lx-tools .sl-lx-stale{flex:1;margin:0}
.sl-lx-scrim{display:none}
.sl-lx-bar.is-sheet{z-index:260}
.sl-lx-icon-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--lx-line);background:transparent;color:var(--lt-hi,#fff);border-radius:var(--sl-radius);cursor:pointer}
.sl-lx-icon-btn svg{width:18px;height:18px}

/* ---------- Results grid ---------- */
.sl-lx-results{padding:22px 0 72px;min-height:420px}
.sl-lx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}
.sl-lx-skel{aspect-ratio:4/3.6;border-radius:var(--sl-radius);background:linear-gradient(100deg,var(--lx-panel) 30%,#152031 50%,var(--lx-panel) 70%);background-size:300% 100%;animation:lx-shimmer 1.4s linear infinite;border:1px solid var(--lx-line)}
.sl-lx-skel--wide{aspect-ratio:16/7}
@keyframes lx-shimmer{to{background-position:-150% 0}}
.sl-lx-stale{margin:0 0 18px;padding:12px 16px;border:1px solid var(--lx-line);border-left:3px solid var(--sl-gold);border-radius:var(--sl-radius);font-size:14px;color:var(--lx-muted);background:rgba(var(--lt-gold-rgb,217,183,122),.06)}
.sl-lx-stale.is-strong{border-left-color:var(--sl-red);background:rgba(225,37,27,.08);color:var(--lt-text,#FFD7D1)}

/* Card */
.sl-lx-card{position:relative;display:flex;flex-direction:column;background:var(--lx-panel);border:1px solid var(--lx-line);border-radius:var(--sl-radius);overflow:hidden;transition:transform .35s var(--sl-ease-out),border-color .3s}
.sl-lx-card:hover{transform:translateY(-3px);border-color:var(--lx-line-2)}
.sl-lx-card__media{position:relative;display:block;aspect-ratio:12/7;overflow:hidden;background:var(--lt-surface,#0c121c)}
.sl-lx-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--sl-ease-out)}
.sl-lx-card:hover .sl-lx-card__media img{transform:scale(1.035)}
.sl-lx-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,16,.35) 0%,rgba(7,10,16,0) 32%)}
.sl-lx-chips{position:absolute;left:14px;top:14px;z-index:2;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 76px)}
.sl-lx-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:2px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;line-height:1;background:var(--lt-inv,#F4F1EC);color:#111}
.sl-lx-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}
.sl-lx-chip--active{background:var(--lx-green);color:var(--lt-hi,#fff)}
.sl-lx-chip--pending{background:var(--lt-inv,#F4F1EC);color:#111}
.sl-lx-chip--sold{background:#4A5566;color:var(--lt-hi,#fff)}
.sl-lx-chip--lease{background:#24466B;color:var(--lt-hi,#fff)}
.sl-lx-chip--deal{background:var(--sl-red);color:var(--lt-hi,#fff)}
.sl-lx-chip--deal::before{display:none}
.sl-lx-fav{position:absolute;right:12px;top:12px;z-index:3;width:44px;height:44px;border-radius:4px;border:1px solid rgba(var(--lt-hi-rgb,255,255,255),.18);background:rgba(var(--lt-lo-rgb,10,14,22),.62);color:var(--lt-hi,#fff);display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s,border-color .2s,transform .2s}
.sl-lx-fav svg{width:20px;height:20px;transition:fill .2s,color .2s}
.sl-lx-fav:hover{background:rgba(var(--lt-lo-rgb,10,14,22),.85);border-color:rgba(var(--lt-hi-rgb,255,255,255),.4)}
.sl-lx-fav[aria-pressed="true"] svg{fill:var(--sl-red);color:var(--sl-red)}
.sl-lx-fav.is-pop{animation:lx-pop .35s var(--sl-ease-out)}
@keyframes lx-pop{50%{transform:scale(1.14)}}
.sl-lx-card__body{display:flex;flex-direction:column;gap:4px;padding:18px 20px 20px;flex:1}
.sl-lx-card__price{font-size:1.65rem;font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--lx-cream)}
.sl-lx-card__price small{font-size:14px;font-weight:400;color:var(--lx-muted);letter-spacing:0;margin-left:6px}
.sl-lx-card__addr{margin:0;font-size:16px;color:var(--lt-text,#E4E1DB);line-height:1.35}
.sl-lx-card__addr a{color:inherit}
.sl-lx-card__addr a::after{content:"";position:absolute;inset:0;z-index:1}
.sl-lx-card__meta{margin:0;font-size:15px;color:var(--lx-muted)}
.sl-lx-card__meta--role{color:var(--lt-red,#F0B7B2)}
.sl-lx-facts{display:flex;flex-wrap:wrap;gap:6px 0;margin:10px 0 16px;padding:0;list-style:none;font-size:15px;color:var(--lx-muted)}
.sl-lx-facts li{display:inline-flex;align-items:center;gap:7px;padding:0 14px}
.sl-lx-facts li:first-child{padding-left:0}
.sl-lx-facts li+li{border-left:1px solid var(--lx-line)}
.sl-lx-facts svg{width:17px;height:17px;color:var(--lt-text,#D8D4CD);flex:none}
.sl-lx-card__cta{position:relative;z-index:2;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:12px;height:44px;border:1px solid var(--lx-line);border-radius:var(--sl-radius);background:transparent;color:var(--lt-hi,#fff);font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;transition:border-color .25s,background .25s}
.sl-lx-card__cta svg{width:18px;height:18px;color:var(--sl-red);transition:transform .3s var(--sl-ease-out)}
.sl-lx-card__cta:hover{border-color:var(--lt-hi,#fff)}
.sl-lx-card__cta:hover svg{transform:translateX(4px)}
.sl-lx-card__credit{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;padding:18px 12px 6px;font-size:14px;color:var(--lt-text,#cfd3da);background:linear-gradient(180deg,transparent,rgba(7,10,16,.85))}
.sl-lx-card__credit a{text-decoration:underline;text-underline-offset:2px;position:relative;z-index:3}
.sl-lx-card__plate{position:absolute;left:16px;right:16px;bottom:30px;z-index:2;display:flex;flex-direction:column;gap:2px;color:var(--lt-hi,#fff);text-shadow:0 2px 10px rgba(0,0,0,.6)}
.sl-lx-card__plate strong{font-size:18px;font-weight:500}
.sl-lx-card__plate span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lt-text,#E6E2DB)}
.sl-lx-card--deal .sl-lx-card__media::after{background:linear-gradient(180deg,rgba(7,10,16,.45) 0%,rgba(7,10,16,.25) 40%,rgba(7,10,16,.8) 100%)}
.sl-lx-card--town .sl-lx-card__media img{filter:saturate(.75) brightness(.8)}
.sl-lx-card__over{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:10px;padding-top:18px;background:linear-gradient(180deg,transparent,rgba(7,10,16,.85))}
.sl-lx-card__over .sl-lx-card__plate{position:static;margin:0 16px}
.sl-lx-card__over .sl-lx-card__credit{position:static;padding:0 12px 6px;background:none}

/* List view */
.sl-lx-grid.is-list{grid-template-columns:1fr;gap:16px}
.sl-lx-grid.is-list .sl-lx-card{flex-direction:row}
.sl-lx-grid.is-list .sl-lx-card__media{flex:0 0 min(38%,420px);aspect-ratio:auto;min-height:220px}
.sl-lx-grid.is-list .sl-lx-card__body{padding:22px 26px}
.sl-lx-grid.is-list .sl-lx-card__cta{align-self:flex-start;padding:0 26px}
.sl-lx-grid.is-list .sl-lx-card__desc{display:-webkit-box}
.sl-lx-card__desc{display:none;margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--lx-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:80ch}

.sl-lx-empty{padding:56px 32px;text-align:center;border:1px dashed var(--lx-line-2);border-radius:var(--sl-radius);background:rgba(var(--lt-lo-rgb,14,22,34),.5)}
.sl-lx-empty p{color:var(--lx-muted);max-width:52ch;margin:0 auto 22px}
.sl-lx-empty .sl-btn-row{justify-content:center}
.sl-lx-more{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:44px}
.sl-lx-more .sl-btn{min-width:300px;--h:52px}
.sl-lx-more .sl-btn svg{color:var(--sl-red)}
.sl-lx-more__cap{margin:0;font-size:15px;color:var(--lx-muted)}
.sl-lx-more[hidden],.sl-lx-empty[hidden]{display:none}

/* ---------- Alerts band ---------- */
.sl-lx-alerts{position:relative;isolation:isolate;overflow:hidden;padding:76px 0;border-top:1px solid var(--lx-line);border-bottom:1px solid var(--lx-line);background:var(--lt-surface,#0B1220)}
.sl-lx-alerts__media{position:absolute;inset:0;z-index:-2}
.sl-lx-alerts__media img,.sl-lx-alerts__media video{width:100%;height:100%;object-fit:cover;object-position:50% 60%;opacity:.4}
.sl-lx-alerts::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,14,24,.95) 0%,rgba(9,14,24,.75) 55%,rgba(9,14,24,.55) 100%)}
.sl-lx-alerts__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.95fr);gap:56px;align-items:center}
.sl-lx-ebrule{display:inline-block;width:48px;height:2px;background:var(--sl-red)}
.sl-lx-alerts__lede{color:var(--lt-text,#DAD7D1);font-size:1.1rem;font-weight:300;margin:0 0 26px;max-width:56ch}
.sl-lx-alert-form__row{display:flex;gap:14px;max-width:760px}
.sl-lx-alert-form input[type=email]{flex:1;min-width:0;height:56px;padding:0 20px;background:rgba(var(--lt-lo-rgb,10,14,22),.7);border:1px solid var(--lx-line-2);border-radius:var(--sl-radius);color:var(--lt-hi,#fff);font:inherit;font-size:16px}
.sl-lx-alert-form input[type=email]::placeholder{color:var(--lt-mid,#97A0AD)}
.sl-lx-alert-form input[type=email]:focus{outline:none;border-color:var(--lx-cream);box-shadow:0 0 0 1px var(--lx-cream)}
.sl-lx-alert-form input[aria-invalid="true"]{border-color:var(--lt-red,#FF7A6E)}
.sl-lx-alert-form .sl-btn{--h:56px;flex:none}
.sl-lx-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sl-lx-err{min-height:1.4em;margin:10px 0 0;color:var(--lt-red,#FFB4A8);font-size:15px}
.sl-lx-err:empty{min-height:0;margin:0}
.sl-lx-alert-done{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid rgba(63,181,122,.5);border-radius:var(--sl-radius);background:rgba(47,125,91,.14);max-width:760px}
.sl-lx-alert-done svg{width:22px;height:22px;color:var(--lt-green,#6FD3A0);flex:none;margin-top:2px}
.sl-lx-alert-done p{margin:0;color:var(--lt-hi,#E8F5EE)}
.sl-lx-alert-done[hidden]{display:none}
.sl-lx-saved{background:rgba(var(--lt-lo-rgb,14,22,34),.92);border:1px solid var(--lx-line);border-radius:var(--sl-radius);padding:24px 26px}
.sl-lx-saved__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.sl-lx-saved__head h3{margin:0;font-size:1.4rem;font-weight:600;letter-spacing:-.01em}
.sl-lx-saved__edit{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--lt-hi,#fff);border-bottom:1px solid var(--lx-line-2);padding-bottom:2px}
.sl-lx-saved__edit svg{width:16px;height:16px;color:var(--sl-red)}
.sl-lx-saved__list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:12px}
.sl-lx-saved__list li{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--lt-text,#E4E1DB)}
.sl-lx-saved__list svg{width:22px;height:22px;color:var(--lt-text,#D8D4CD);flex:none}
.sl-lx-saved__note{margin:0;font-size:15px;color:var(--lx-muted)}

/* ---------- Recently sold ---------- */
.sl-lx-sold{padding:72px 0 64px}
.sl-lx-sold__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.sl-lx-sold__head .sl-lx-h2{margin:0}
.sl-lx-sold__nav{display:flex;align-items:center;gap:12px}
.sl-lx-linkbtn{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 8px;border:0;background:transparent;color:var(--lt-hi,#fff);font:inherit;font-size:15px;cursor:pointer}
.sl-lx-linkbtn svg{width:18px;height:18px;color:var(--sl-red);transition:transform .3s var(--sl-ease-out)}
.sl-lx-linkbtn:hover svg{transform:translateX(4px)}
.sl-lx-car{--sl-car-cols:4;--sl-car-gap:18px}
.sl-lx-car .sl-car__track>.sl-lx-card{height:100%}
.sl-lx-car .sl-lx-card__media{aspect-ratio:16/10}
.sl-lx-car .sl-lx-card__price{font-size:1.4rem}
.sl-lx-car .sl-lx-card__body{padding:16px 18px 18px}
.sl-lx-car .sl-lx-facts{margin:8px 0 0}
.sl-lx-attr{margin-top:36px;padding-top:24px;border-top:1px solid var(--lx-line);display:flex;justify-content:space-between;align-items:flex-start;gap:24px 40px;flex-wrap:wrap}
.sl-lx-attr p{margin:0;font-size:15px;line-height:1.6;color:var(--lx-muted);max-width:90ch}
.sl-lx-attr .sl-link-arrow{font-size:11.5px}

/* =====================================================================================
   Detail view (listing.html)
   ===================================================================================== */
.sl-ld{padding:calc(var(--sl-header-h) + 26px) 0 72px}
.sl-ld__back{margin:0 0 18px;font-size:14px}
.sl-ld__back a,.sl-ld-foot a{display:inline-flex;align-items:center;gap:8px;color:var(--lt-text,#DAD7D1);min-height:44px}
.sl-ld__back a:hover,.sl-ld-foot a:hover{color:var(--lt-hi,#fff)}
.sl-ld__back svg,.sl-ld-foot svg{width:16px;height:16px}
.sl-ld__loading{display:grid;gap:14px}
.sl-ld-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:28px;align-items:start}
.sl-ld-main{min-width:0}
.sl-ld-hero{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(250px,1fr);gap:24px;align-items:start}
.sl-ld-gal{position:relative;min-width:0}
.sl-ld-gal__main{position:relative;display:block;width:100%;aspect-ratio:16/10.5;border:0;padding:0;background:var(--lt-surface,#0c121c);border-radius:var(--sl-radius);overflow:hidden;cursor:zoom-in}
.sl-ld-gal__main img{width:100%;height:100%;object-fit:cover}
.sl-ld-gal__count{position:absolute;right:14px;bottom:14px;z-index:2;padding:6px 12px;border-radius:2px;background:rgba(var(--lt-lo-rgb,7,10,16),.72);color:var(--lt-hi,#fff);font-size:13px;letter-spacing:.02em;display:inline-flex;gap:8px;align-items:center}
.sl-ld-gal__count svg{width:15px;height:15px}
.sl-ld-gal__thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}
.sl-ld-gal__thumbs button{position:relative;aspect-ratio:4/3;padding:0;border:1px solid transparent;border-radius:2px;overflow:hidden;background:var(--lt-surface,#0c121c);cursor:pointer;opacity:.7;transition:opacity .2s,border-color .2s}
.sl-ld-gal__thumbs button:hover{opacity:1}
.sl-ld-gal__thumbs button[aria-current="true"]{opacity:1;border-color:var(--lx-cream)}
.sl-ld-gal__thumbs img{width:100%;height:100%;object-fit:cover}
.sl-ld-gal__thumbs .is-more span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(var(--lt-lo-rgb,7,10,16),.6);color:var(--lt-hi,#fff);font-size:14px}
.sl-ld-gal .sl-lx-fav{top:14px;right:14px}
.sl-ld-gal__credit{margin:8px 0 0;font-size:14px;color:var(--sl-dim)}
.sl-ld-gal__credit a{text-decoration:underline}
.sl-ld-sum .sl-lx-chips{position:static;max-width:none;margin-bottom:16px}
.sl-ld-sum__price{font-size:clamp(2.2rem,3.6vw,3rem);font-weight:600;letter-spacing:-.03em;line-height:1;margin:0 0 12px}
.sl-ld-sum__price small{display:block;font-size:14px;font-weight:400;letter-spacing:0;color:var(--lx-muted);margin-top:8px}
.sl-ld-sum__addr{margin:0 0 20px;font-size:17px;line-height:1.45;color:var(--lt-text,#E4E1DB)}
.sl-ld-facts{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--lx-line);border-radius:var(--sl-radius);background:var(--lx-panel);margin:0;padding:0;list-style:none}
.sl-ld-facts li{display:flex;align-items:center;gap:12px;padding:14px 14px;min-height:72px;border-bottom:1px solid var(--lx-line)}
.sl-ld-facts li:nth-child(odd){border-right:1px solid var(--lx-line)}
.sl-ld-facts li:nth-last-child(-n+2):nth-child(odd),.sl-ld-facts li:last-child{border-bottom:0}
.sl-ld-facts svg{width:24px;height:24px;color:var(--lt-text,#D8D4CD);flex:none}
.sl-ld-facts span{display:flex;flex-direction:column;font-size:14px;color:var(--lx-muted);line-height:1.3}
.sl-ld-facts b{font-size:16px;font-weight:500;color:var(--lx-cream)}
.sl-ld-about{margin-top:34px}
.sl-ld-about .sl-rule{width:48px;margin-bottom:16px}
.sl-ld-about h2{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;letter-spacing:-.02em;margin:0 0 12px;line-height:1.15}
.sl-ld-about p{margin:0 0 12px;color:var(--lt-text,#D9D6D0);font-size:16px;line-height:1.65;max-width:78ch}
.sl-ld-about .sl-ld-role{color:var(--lt-red,#F0B7B2)}
.sl-ld-more{display:flex;flex-wrap:wrap;gap:8px 10px;margin:14px 0 0;padding:0;list-style:none}
.sl-ld-more li{font-size:15px;color:var(--lx-muted);border:1px solid var(--lx-line);border-radius:2px;padding:6px 10px}
.sl-ld-more b{color:var(--lt-text,#E4E1DB);font-weight:500}
.sl-ld-src{margin:16px 0 0;font-size:15px}
.sl-ld-src a{display:inline-flex;align-items:center;gap:8px;color:var(--lt-hi,#fff);border-bottom:1px solid var(--lx-line-2);padding-bottom:2px}
.sl-ld-src svg{width:16px;height:16px;color:var(--sl-red)}

/* Payment calculator */
.sl-ld-calc{margin-top:34px;padding:28px 28px 24px;background:var(--lx-panel);border:1px solid var(--lx-line);border-radius:var(--sl-radius)}
.sl-ld-calc .sl-rule{width:48px;margin-bottom:16px}
.sl-ld-calc h2{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;letter-spacing:-.02em;margin:0 0 20px}
.sl-ld-calc__in{display:grid;grid-template-columns:1.1fr 1fr 1fr .8fr;gap:16px}
.sl-ld-calc label{display:flex;flex-direction:column;gap:7px;font-size:15px;color:var(--lx-muted);min-width:0}
.sl-ld-calc__pair{display:grid;grid-template-columns:.9fr 1.1fr;gap:8px}
.sl-ld-calc input,.sl-ld-calc select,.sl-ld-form input,.sl-ld-form select,.sl-ld-form textarea{width:100%;min-width:0;height:50px;padding:0 14px;background:var(--lt-surface,#0A111C);border:1px solid var(--lx-line);border-radius:var(--sl-radius);color:var(--lt-hi,#fff);font:inherit;font-size:15px}
.sl-ld-calc select,.sl-ld-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#BAC1CB 50%),linear-gradient(135deg,#BAC1CB 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}
.sl-ld-calc input:focus,.sl-ld-calc select:focus,.sl-ld-form input:focus,.sl-ld-form select:focus,.sl-ld-form textarea:focus{outline:none;border-color:var(--lx-cream);box-shadow:0 0 0 1px var(--lx-cream)}
.sl-ld-calc__note{display:block;font-size:15px;color:var(--sl-dim);margin-top:2px}
.sl-ld-calc__note.is-stale{color:var(--lt-red,#FFB4A8)}
.sl-ld-calc__out{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,1.1fr);gap:22px 30px;align-items:center;margin-top:26px}
.sl-ld-calc__total{font-size:clamp(2rem,3.2vw,2.6rem);font-weight:600;letter-spacing:-.02em;line-height:1}
.sl-ld-calc__total small{display:block;font-size:15px;font-weight:400;color:var(--lx-muted);letter-spacing:0;margin-top:6px}
.sl-ld-bar{display:flex;height:14px;border-radius:2px;overflow:hidden;background:var(--lt-surface,#1A2433)}
.sl-ld-bar i{display:block;height:100%;transition:width .4s var(--sl-ease)}
.sl-ld-bar i:nth-child(1){background:var(--sl-red)}
.sl-ld-bar i:nth-child(2){background:#E9E4DB}
.sl-ld-bar i:nth-child(3){background:#8BA3C7}
.sl-ld-bar i:nth-child(4){background:#5A6B84}
.sl-ld-legend{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.sl-ld-legend li{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;font-size:14px;color:var(--lt-text,#DAD7D1)}
.sl-ld-legend li::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--sl-red)}
.sl-ld-legend li:nth-child(2)::before{background:#E9E4DB}
.sl-ld-legend li:nth-child(3)::before{background:#8BA3C7}
.sl-ld-legend li:nth-child(4)::before{background:#5A6B84}
.sl-ld-legend small{font-size:14px;color:var(--sl-dim);margin-left:4px}
.sl-ld-legend b{font-weight:500;color:var(--lt-hi,#fff)}
.sl-ld-calc__foot{margin:18px 0 0;font-size:15px;color:var(--sl-dim);line-height:1.55}

/* Ask Shpresa card */
.sl-ld-ask{position:sticky;top:calc(var(--lx-bar-top) + 18px);background:var(--lx-panel);border:1px solid var(--lx-line);border-radius:var(--sl-radius);padding:26px 24px 22px}
.sl-ld-ask h2{font-size:1.75rem;font-weight:600;letter-spacing:-.02em;margin:0 0 6px;line-height:1.15}
.sl-ld-ask>p{margin:0 0 18px;color:var(--lx-muted);font-size:15px;line-height:1.5}
.sl-ld-form{display:grid;gap:14px}
.sl-ld-form label{display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--lt-text,#DAD7D1)}
.sl-ld-form label em{font-style:normal;color:var(--sl-red)}
.sl-ld-form textarea{height:auto;min-height:84px;padding:12px 14px;resize:vertical;line-height:1.45}
.sl-ld-form [aria-invalid="true"]{border-color:var(--lt-red,#FF7A6E)}
.sl-ld-form .sl-lx-err{margin:-6px 0 0}
.sl-ld-form .sl-lx-err:empty{display:none}
.sl-ld-form .sl-btn{width:100%;--h:52px}
.sl-ld-form__fine{margin:0;font-size:15px;color:var(--lx-muted)}
.sl-ld-done{display:grid;gap:12px}
.sl-ld-done svg{width:34px;height:34px;color:var(--lt-green,#6FD3A0)}
.sl-ld-done h3{margin:0;font-size:1.35rem;font-weight:600}
.sl-ld-done p{margin:0;color:var(--lt-text,#DAD7D1);font-size:15px}
.sl-ld-done dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:15px}
.sl-ld-done dt{color:var(--lx-muted)}
.sl-ld-done dd{margin:0;color:var(--lt-hi,#fff)}

/* Similar + footer */
.sl-ld-sim{margin-top:64px;padding-top:40px;border-top:1px solid var(--lx-line)}
.sl-ld-sim__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.sl-ld-sim__head .sl-rule{width:48px;margin-bottom:14px}
.sl-ld-sim__head h2{margin:0;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:600;letter-spacing:-.025em}
.sl-ld-sim .sl-lx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.sl-ld-foot{margin-top:40px;padding-top:18px;border-top:1px solid var(--lx-line);display:flex;justify-content:space-between;align-items:center;gap:16px 30px;flex-wrap:wrap}
.sl-ld-foot p{margin:0;font-size:15px;color:var(--lx-muted);max-width:90ch}
.sl-ld-missing{padding:60px 30px;border:1px dashed var(--lx-line-2);border-radius:var(--sl-radius);text-align:center}
.sl-ld-missing p{color:var(--lx-muted);margin:0 auto 22px;max-width:56ch}
.sl-ld-missing .sl-btn-row{justify-content:center}

/* Lightbox */
.sl-ld-lb{position:fixed;inset:0;z-index:300;background:rgba(var(--lt-lo-rgb,5,8,13),.96);display:grid;grid-template-columns:72px 1fr 72px;align-items:center}
.sl-ld-lb[hidden]{display:none}
.sl-ld-lb__fig{margin:0;grid-column:2;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}
.sl-ld-lb__fig img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:2px}
.sl-ld-lb__fig figcaption{font-size:14px;color:var(--lx-muted)}
.sl-ld-lb__nav,.sl-ld-lb__close{width:52px;height:52px;border-radius:50%;border:1px solid rgba(var(--lt-hi-rgb,255,255,255),.3);background:rgba(var(--lt-lo-rgb,10,14,22),.6);color:var(--lt-hi,#fff);display:grid;place-items:center;cursor:pointer;justify-self:center}
.sl-ld-lb__nav svg,.sl-ld-lb__close svg{width:22px;height:22px}
.sl-ld-lb__nav:hover,.sl-ld-lb__close:hover{background:var(--lt-inv,#fff);color:#0A0E16}
.sl-ld-lb__close{position:absolute;top:18px;right:18px}
.sl-ld-lb__nav--prev{grid-column:1;grid-row:1}
.sl-ld-lb__nav--next{grid-column:3;grid-row:1}
body.sl-lx-lock{overflow:hidden}

/* ---------- Responsive ---------- */
@media (max-width:1280px){
  .sl-lx-field select{min-width:88px;max-width:150px}
  .sl-lx-seg button{padding:0 11px}
}
@media (max-width:1180px){
  .sl-lx{--lx-pad:32px}
  .sl-lx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sl-lx-car{--sl-car-cols:3}
  .sl-ld-hero{grid-template-columns:1fr}
  .sl-ld-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sl-ld-facts li{border-right:1px solid var(--lx-line)}
  .sl-ld-facts li:nth-child(4n){border-right:0}
  .sl-ld-facts li:nth-last-child(-n+2):nth-child(odd){border-bottom:1px solid var(--lx-line)}
  .sl-ld-facts li:nth-last-child(-n+4){border-bottom:0}
  .sl-ld-calc__in{grid-template-columns:1fr 1fr}
  .sl-ld-calc__out{grid-template-columns:auto minmax(0,1fr)}
  .sl-ld-legend{grid-column:1/-1}
}

/* Filter bar collapses to a "Filters" trigger + bottom sheet */
@media (max-width:1100px){
  .sl-lx-bar__in{gap:8px;min-height:64px;padding-top:10px;padding-bottom:10px}
  .sl-lx-bar__open{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 14px;border:1px solid var(--lx-line-2);border-radius:var(--sl-radius);background:var(--lx-panel);color:var(--lt-hi,#fff);font:inherit;font-size:14px;cursor:pointer;flex:none}
  .sl-lx-bar__open svg{width:18px;height:18px}
  .sl-lx-bar__n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--sl-red);color:var(--lt-hi,#fff);font-size:12px}
  .sl-lx-bar__n[hidden]{display:none}
  .sl-lx-sheet{position:fixed;left:0;right:0;bottom:0;z-index:250;max-height:86vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 20px 20px;background:var(--lt-surface,#0E1622);border-top:1px solid var(--lx-line-2);border-radius:10px 10px 0 0;box-shadow:0 -20px 60px rgba(var(--lt-shadow-rgb,0,0,0),.6);transform:translateY(105%);visibility:hidden;transition:transform .35s var(--sl-ease-out),visibility 0s .35s}
  .sl-lx-sheet.is-open{transform:none;visibility:visible;transition:transform .35s var(--sl-ease-out)}
  .sl-lx-sheet__head{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1;background:var(--lt-surface,#0E1622);padding:16px 0 10px;border-bottom:1px solid var(--lx-line)}
  .sl-lx-sheet__head strong{font-size:18px;font-weight:600}
  .sl-lx-sheet .sl-lx-seg{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}
  .sl-lx-sheet .sl-lx-field select{width:100%!important;max-width:none;height:50px;font-size:16px}
  .sl-lx-sheet .sl-lx-pop,.sl-lx-sheet .sl-lx-field--town,.sl-lx-sheet .sl-lx-field--type{grid-column:1/-1}
  .sl-lx-sheet .sl-lx-pop__btn{display:none}
  .sl-lx-sheet .sl-lx-pop__panel{display:grid;position:static;width:auto;padding:0;border:0;box-shadow:none;background:transparent;gap:14px}
  .sl-lx-sheet .sl-lx-switch{grid-column:1/-1;justify-content:flex-start;height:48px}
  .sl-lx-sheet__foot{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;grid-column:1/-1;position:sticky;bottom:-20px;background:var(--lt-surface,#0E1622);padding:12px 0 20px;border-top:1px solid var(--lx-line)}
  .sl-lx-sheet__foot .sl-btn{width:100%;--h:50px}
  .sl-lx-scrim{display:block;position:fixed;inset:0;z-index:240;background:rgba(var(--lt-lo-rgb,3,5,9),.6)}
  .sl-lx-scrim[hidden]{display:none}
  .sl-lx-field--sort select{max-width:200px}
}
@media (max-width:760px){
  .sl-lx{--lx-pad:16px;--lx-bar-top:var(--sl-header-h)}
  .sl-lx-hero{padding:calc(var(--sl-header-h) + 34px) 0 30px;min-height:0}
  .sl-lx-hero__h{font-size:2.5rem}
  .sl-lx-hero__sub{font-size:15.5px}
  .sl-lx-grid,.sl-ld-sim .sl-lx-grid{grid-template-columns:1fr;gap:18px}
  .sl-lx-grid.is-list .sl-lx-card{flex-direction:column}
  .sl-lx-grid.is-list .sl-lx-card__media{flex:none;aspect-ratio:12/7;min-height:0}
  .sl-lx-view{display:none}
  .sl-lx-field--sort select{min-width:0;width:100%;max-width:none}
  .sl-lx-field--sort{flex:1 1 auto;min-width:0}
  .sl-lx-count{font-size:14px}
  .sl-lx-more .sl-btn{min-width:0;width:100%}
  .sl-lx-alerts{padding:56px 0}
  .sl-lx-alerts__grid{grid-template-columns:1fr;gap:28px}
  .sl-lx-alert-form__row{flex-direction:column}
  .sl-lx-alert-form .sl-btn{width:100%}
  .sl-lx-sold{padding:56px 0 48px}
  .sl-lx-sold__head{flex-wrap:wrap;align-items:flex-start}
  .sl-lx-sold__nav{width:100%;justify-content:space-between}
  .sl-lx-sold__nav .sl-lx-linkbtn{margin-right:auto;padding:0}
  .sl-lx-sold__nav{flex-wrap:wrap;gap:0 12px}
  .sl-lx-sold__nav [data-lx-all-deals]{flex:1 0 100%}
  .sl-lx-sold__nav [data-lx-all-deals] span:empty{display:none}
  .sl-lx-car .sl-car__track{grid-auto-columns:84%}
  .sl-ld{padding-top:calc(var(--sl-header-h) + 14px)}
  .sl-ld-top{grid-template-columns:1fr}
  .sl-ld-ask{position:static}
  .sl-ld-facts{grid-template-columns:1fr 1fr}
  .sl-ld-facts li{border-right:0}
  .sl-ld-facts li:nth-child(odd){border-right:1px solid var(--lx-line)}
  .sl-ld-facts li:nth-last-child(-n+4){border-bottom:1px solid var(--lx-line)}
  .sl-ld-facts li:nth-last-child(-n+2):nth-child(odd),.sl-ld-facts li:last-child{border-bottom:0}
  .sl-ld-gal__thumbs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .sl-ld-calc{padding:22px 16px}
  .sl-ld-calc__in{grid-template-columns:1fr}
  .sl-ld-calc__out{grid-template-columns:1fr}
  .sl-ld-lb{grid-template-columns:1fr}
  .sl-ld-lb__fig{grid-column:1}
  .sl-ld-lb__nav{position:absolute;bottom:22px}
  .sl-ld-lb__nav--prev{left:22px}
  .sl-ld-lb__nav--next{right:22px}
  .sl-ld-sim{margin-top:44px}
  .sl-ld-sim__head{flex-wrap:wrap}
}
@media (max-width:1100px) and (min-width:761px){
  .sl-ld-top{grid-template-columns:1fr}
  .sl-ld-ask{position:static}
}
@media (prefers-reduced-motion:reduce){
  .sl-lx-card,.sl-lx-card__media img,.sl-lx-sheet,.sl-lx-switch i::after,.sl-ld-bar i{transition:none!important}
  .sl-lx-card:hover{transform:none}
  .sl-lx-card:hover .sl-lx-card__media img{transform:none}
  .sl-lx-skel{animation:none}
  .sl-lx-fav.is-pop{animation:none}
}

/* ---------- Dual-color: results canvas (.sl-light--warm, #F6F4F0) and Recently sold (.sl-light, white) ----------
   The masthead, filter bar, bottom sheet and alerts band stay dark. The --lx-* tokens flip inside .sl-light; everything
   drawn over a photo (chips, heart, plate, credit) keeps its dark values by unsetting the --lt-* variables on the media. */
.sl-lx .sl-light{--lx-panel:#FFFFFF;--lx-panel-2:#F6F4F0;--lx-line:#E3DFD8;--lx-line-2:#CDC6BB;--lx-cream:#0A0E16;--lx-muted:#4A5363}
.sl-lx .sl-light .sl-lx-card__media{--lt-hi:initial;--lt-text:initial;--lt-mid:initial;--lt-inv:initial;--lt-surface:initial;--lt-hi-rgb:initial;--lt-lo-rgb:initial;--lt-shadow-rgb:initial;background:#E9E5DE}
.sl-lx .sl-light .sl-lx-card{background:#fff;box-shadow:var(--sl-shadow);transition:transform .35s var(--sl-ease-out),border-color .3s,box-shadow .35s}
.sl-lx .sl-light .sl-lx-card:hover{border-color:var(--lx-line-2);box-shadow:0 2px 4px rgba(46,38,28,.05),0 26px 50px -26px rgba(46,38,28,.38)}
.sl-lx .sl-light .sl-lx-skel{background-image:linear-gradient(100deg,#FFFFFF 30%,#EEEAE3 50%,#FFFFFF 70%)}
.sl-lx .sl-lx-results.sl-light{padding-top:30px}
.sl-lx .sl-light .sl-lx-switch--fav{background:#fff}
.sl-lx .sl-light .sl-car__track{padding-bottom:34px;margin-bottom:-24px}
.sl-lx .sl-light .sl-lx-card--deal .sl-lx-card__media{background:#0c121c}
