/* LWR Listings — branded cards. Uses the site's --lx-* tokens when present. */
.lwrl{--g:var(--lx-gold,#d6b595);--gd:var(--lx-gold-dk,#a8835c);--ink:var(--lx-black,#0a0a0b);--txt:var(--lx-text,#4a4a50);--mut:var(--lx-muted,#8a857e);--line:var(--lx-line,rgba(214,181,149,.28));--serif:var(--lx-serif,'Cormorant Garamond',Georgia,serif);--sans:var(--lx-sans,'Jost',system-ui,sans-serif);--ease:cubic-bezier(.19,1,.22,1);font-family:var(--sans);font-weight:300;color:var(--txt)}
.lwrl *{box-sizing:border-box}
.lwrl :is(h3,p,ul){margin:0;padding:0;list-style:none}
.lwrl a{text-decoration:none!important}
.lwrl-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.lwrl-filter button{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;padding:13px 20px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;border-radius:0;transition:all .5s var(--ease)}
.lwrl-filter button span{margin-left:6px;color:var(--gd)}
.lwrl-filter button:hover{border-color:var(--gd)}
.lwrl-filter button.is-active{background:var(--ink);border-color:var(--ink);color:var(--g)}
.lwrl-grid{display:grid;grid-template-columns:repeat(var(--lwrl-cols,3),minmax(0,1fr));gap:28px}
.lwrl-card{display:flex;flex-direction:column;background:#fff;transition:transform .9s var(--ease),box-shadow .9s var(--ease),opacity .5s}
.lwrl-card:hover{transform:translateY(-8px);box-shadow:0 50px 90px -55px rgba(10,10,11,.5)}
.lwrl-card.is-hidden{display:none}
.lwrl-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ink)}
.lwrl-media img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:transform 1.8s var(--ease),opacity 1s var(--ease)}
.lwrl-card:hover .lwrl-media img{transform:scale(1.06)}
.lwrl-media .lwrl-alt{opacity:0}
.lwrl-card:hover .lwrl-media .lwrl-alt{opacity:1}
.lwrl-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.35),transparent 30%,transparent 65%,rgba(10,10,11,.55));pointer-events:none}
.lwrl-ph{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(80% 80% at 50% 40%,#1d1913,#0a0a0b)}
.lwrl-ph span{font-family:var(--serif);font-size:64px;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(214,181,149,.5)}
.lwrl-tag{position:absolute;z-index:1;top:18px;left:18px;padding:8px 14px;background:rgba(10,10,11,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(214,181,149,.45);color:var(--g);font-size:10.5px;font-weight:500;letter-spacing:.28em;text-transform:uppercase}
.is-sold .lwrl-tag,.is-leased .lwrl-tag{background:var(--g);color:var(--ink);border-color:var(--g)}
.lwrl-open{position:absolute;z-index:1;left:18px;right:18px;bottom:18px;padding:9px 12px;background:linear-gradient(120deg,#f1dcbf,#d6b595 45%,#a8835c);color:var(--ink);font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-align:center}
.lwrl-count{position:absolute;z-index:1;right:18px;top:18px;padding:7px 11px;background:rgba(10,10,11,.6);color:#fff;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.lwrl-body{display:flex;flex-direction:column;flex:1;padding:28px 28px 26px}
.lwrl-price{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1;color:var(--ink);font-variant-numeric:lining-nums}
.lwrl-addr{font-family:var(--serif)!important;font-weight:500!important;font-size:22px!important;line-height:1.25!important;color:var(--ink)!important;margin-top:14px!important;text-transform:none!important;letter-spacing:0!important;padding:0!important}
.lwrl-city{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gd);margin-top:8px!important}
.lwrl-facts{display:flex;gap:0;margin:20px 0 0!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lwrl-facts li{flex:1;padding:14px 0;text-align:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);border-right:1px solid var(--line)}
.lwrl-facts li:last-child{border-right:0}
.lwrl-facts b{display:block;font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:0;color:var(--ink);line-height:1.1;margin-bottom:2px}
.lwrl-desc{font-size:15px;line-height:1.7;margin-top:18px!important}
.lwrl-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:22px}
.lwrl-link{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--ink)!important;padding-bottom:5px;border-bottom:1px solid var(--g);transition:color .4s}
.lwrl-link:hover{color:var(--gd)!important}
.lwrl-link--alt{border-bottom-color:transparent;color:var(--gd)!important}
.lwrl-meta{margin-top:16px!important;margin-bottom:4px!important;font-size:11.5px;line-height:1.6;color:var(--mut)}
.lwrl-powered{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:.1em;color:var(--mut)!important}
.lwrl-powered img{width:90px!important;height:auto!important}
.lwrl-legal{margin-top:34px!important;font-size:11.5px;line-height:1.7;color:var(--mut);max-width:980px}
.lwrl-empty{padding:60px 30px;text-align:center;border:1px solid var(--line);background:#fff}
.lwrl-empty p{font-family:var(--serif);font-size:26px;line-height:1.35;color:var(--ink);max-width:560px;margin:0 auto 26px!important}
.lwrl-btn{display:inline-block;padding:18px 30px;background:var(--ink);color:#fff!important;font-size:11.5px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;transition:background .5s,color .5s}
.lwrl-btn:hover{background:var(--g);color:var(--ink)!important}
/* Dark-section variant (wrap the shortcode in .lwrl-dark) */
.lwrl-dark .lwrl-card{background:#141417}
.lwrl-dark :is(.lwrl-price,.lwrl-addr,.lwrl-facts b,.lwrl-link){color:#fff!important}
.lwrl-dark .lwrl-desc{color:rgba(255,255,255,.65)}
.lwrl-dark .lwrl-filter button{color:#fff}
@media (max-width:1100px){.lwrl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.lwrl-grid{grid-template-columns:minmax(0,1fr)}.lwrl-body{padding:24px 22px}.lwrl-filter{gap:8px}.lwrl-filter button{padding:11px 14px;letter-spacing:.18em}}
@media (prefers-reduced-motion:reduce){.lwrl-card,.lwrl-media img{transition:none}}
