.prop-hero{overflow:hidden;padding:80px 48px 40px;text-align:center;width:100%;box-sizing:border-box;border-bottom:1px solid rgba(0,0,0,0.15)}
.prop-hero-kicker{display:inline-block;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:#1a1a1a;margin-bottom:24px}
.prop-hero-kicker::before{content:"\2014";margin:0 8px;opacity:0.5}.prop-hero-kicker::after{content:"\2014";margin:0 8px;opacity:0.5}
.prop-hero h1{font-family:Inter,DM Sans,sans-serif;font-size:clamp(40px,6vw,80px);font-weight:700;line-height:1.05;margin-bottom:16px;text-align:center}
.prop-hero h1 em{font-style:italic}
.result-count{font-family:Inter,DM Sans,sans-serif;font-size:56px;font-weight:300;color:#5A5E7A;line-height:1}
.result-label{font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:#5A5E7A}
.prop-hero-count{margin-top:16px}
.filter-bar{position:sticky;top:60px;z-index:300;background:#f7f5f2;border-bottom:1px solid rgba(0,0,0,0.15);padding:0 48px;display:flex;align-items:stretch;overflow-x:auto;overflow-y:visible;scrollbar-width:none}
.filter-group{display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(0,0,0,0.15);min-width:130px;flex-shrink:1;position:relative;overflow:visible}
.filter-group:hover{background:rgba(26,26,26,0.08)}
.filter-label{font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:#1a1a1a;margin-bottom:4px;white-space:nowrap}
.filter-value{font-size:13px;color:#1a1615;display:flex;align-items:center;gap:6px}
.filter-value::after{content:'▾';font-size:10px;color:#5A5E7A;margin-left:auto}
.filter-dropdown{position:fixed;min-width:220px;background:#FFFFFF;border:2px solid #1a1a1a;box-shadow:0 16px 48px rgba(26,22,21,0.18);display:none;z-index:9999;overflow:visible}
.filter-group.open{z-index:100}
.dropdown-opt{padding:14px 20px;font-size:13px;color:#2A2E4A;cursor:pointer;transition:background 0.15s;border-bottom:1px solid rgba(26,26,26,0.1);display:flex;align-items:center;gap:10px}
.dropdown-opt:hover{background:rgba(26,26,26,0.08);color:#1a1615}
.dropdown-opt.selected{color:#1a1a1a}
.opt-check{width:14px;height:14px;border:1px solid rgba(0,0,0,0.15);border-radius:2px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.dropdown-opt.selected .opt-check{background:#1a1a1a;border-color:#333333}
.dropdown-opt.selected .opt-check::after{content:'✓';font-size:9px;color:#1a1615}
.filter-clear{margin-left:auto;display:flex;align-items:center;padding:0 28px;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#5A5E7A;cursor:pointer;white-space:nowrap;transition:color 0.2s}
.filter-clear:hover{color:#1a1a1a}
.listings-layout{max-width:1440px;margin:0 auto;padding:0 32px;display:flex;flex-direction:column;box-sizing:border-box}
.listing-hero{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(0,0,0,0.15);}
.listing-hero:nth-child(even){direction:rtl}
.listing-hero:nth-child(even)>*{direction:ltr}
.listing-img-wrap{position:relative;overflow:hidden;aspect-ratio:4/3}
.listing-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s;display:block}
.listing-hero:hover .listing-img-wrap img{transform:scale(1.04)}
.listing-badge{position:absolute;top:20px;left:20px;display:flex;gap:8px}
.badge{font-size:9px;letter-spacing:0.2em;text-transform:uppercase;padding:5px 10px;border-radius:1px}
.badge-offmarket{background:#1a1a1a;color:#ffffff}
.badge-new{background:#1a1a1a;color:white}
.badge-buy{background:#1a1615;color:#f7f5f2}
.badge-rent{background:rgba(26,23,19,0.7);color:#f7f5f2;backdrop-filter:blur(4px)}
.badge-illust{background:#fdf3ea;color:#7a4a1e;border:1px solid #e8c99a;margin-left:6px;cursor:help}
.listing-content{padding:56px 64px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(0,0,0,0.15)}
.listing-hero:nth-child(even) .listing-content{border-left:none;border-right:1px solid rgba(0,0,0,0.15)}
.listing-meta{font-size:10px;letter-spacing:0.25em;text-transform:uppercase;color:#1a1a1a;margin-bottom:16px}
.listing-title{font-family:Inter,'DM Sans',sans-serif;font-size:clamp(30px,3.5vw,48px);font-weight:700;line-height:1.1;color:#1a1615;margin-bottom:8px}
.listing-title em{font-style:italic}
.listing-location{font-size:13px;color:#5A5E7A;margin-bottom:24px;display:flex;align-items:center;gap:6px}
.listing-location::before{content:'↗';color:#1a1a1a;font-size:11px}
.listing-desc{font-size:14px;line-height:1.75;color:#2A2E4A;margin-bottom:40px;max-width:420px}
.listing-stats{display:flex;gap:32px;margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid rgba(0,0,0,0.15)}
.stat-val{font-family:Inter,'DM Sans',sans-serif;font-size:28px;font-weight:300;color:#1a1615;line-height:1}
.stat-label{font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:#5A5E7A}
.listing-price-row{display:flex;align-items:baseline;justify-content:flex-start;gap:24px}
.listing-price{font-family:Inter,'DM Sans',sans-serif;font-size:36px;font-weight:300;color:#1a1615}
.listing-price span{font-size:18px;color:#1a1a1a;margin-right:2px}
.listing-cta{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:#1a1615;text-decoration:none;border-bottom:1px solid #1a1615;padding-bottom:2px;transition:color 0.3s,border-color 0.3s}
.listing-cta:hover{color:#1a1a1a;border-color:#1a1a1a}
.listing-cta::after{content:'→';transition:transform 0.3s}
.listing-cta:hover::after{transform:translateX(4px)}
.listing-row{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(0,0,0,0.15);min-width:0}
.listing-card{border-right:1px solid rgba(0,0,0,0.15);overflow:hidden;cursor:pointer;min-width:0}
.listing-card:last-child{border-right:none}
.card-img-wrap{position:relative;overflow:hidden;aspect-ratio:3/2}
.card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s}
.listing-card:hover .card-img-wrap img{transform:scale(1.06)}
.card-body{padding:28px 32px 36px}
.card-meta{font-size:9px;letter-spacing:0.25em;text-transform:uppercase;color:#1a1a1a;margin-bottom:10px}
.card-title{font-family:Inter,'DM Sans',sans-serif;font-size:26px;font-weight:300;line-height:1.1;color:#1a1615;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.card-location{font-size:12px;color:#5A5E7A;margin-bottom:20px}
.card-stats{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,0.15);font-family:Inter,'DM Sans',sans-serif;font-size:14px;color:#1a1615;font-weight:500}
.card-stat-sep{color:#9A9EBA;font-weight:300}
/* Legacy classes still rendered elsewhere (e.g. property-detail stats grid) */
.card-stat-val{font-family:Inter,'DM Sans',sans-serif;font-size:20px;font-weight:300}
.card-stat-label{font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:#5A5E7A}
.card-price-row{display:flex;align-items:center;justify-content:space-between}
.card-price{font-family:Inter,'DM Sans',sans-serif;font-size:22px;font-weight:300}
.card-price span{color:#1a1a1a;margin-right:1px}
.card-arrow{width:32px;height:32px;border:1px solid rgba(0,0,0,0.15);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#5A5E7A;transition:all 0.3s}
.listing-card:hover .card-arrow{background:#1a1615;color:#f7f5f2;border-color:#1a1615}
.listing-strip{display:grid;grid-template-columns:320px 1fr;border-bottom:1px solid rgba(0,0,0,0.15)}
.strip-img{position:relative;overflow:hidden;aspect-ratio:4/3}
.strip-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s}
.listing-strip:hover .strip-img img{transform:scale(1.05)}
.strip-content{padding:40px 48px;display:flex;align-items:center;gap:48px;border-left:1px solid rgba(0,0,0,0.15)}
.strip-main{flex:1}
.strip-meta{font-size:9px;letter-spacing:0.25em;text-transform:uppercase;color:#1a1a1a;margin-bottom:8px}
.strip-title{font-family:Inter,'DM Sans',sans-serif;font-size:28px;font-weight:300;line-height:1.1;margin-bottom:6px}
.strip-location{font-size:12px;color:#5A5E7A;margin-bottom:16px}
.strip-stats{display:flex;gap:24px}
.strip-stat-val{font-family:Inter,'DM Sans',sans-serif;font-size:22px;font-weight:300}
.strip-stat-label{font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:#5A5E7A}
.strip-right{text-align:right;flex-shrink:0}
.strip-price{font-family:Inter,'DM Sans',sans-serif;font-size:32px;font-weight:300;margin-bottom:16px}
.strip-price span{color:#1a1a1a}
.load-more{text-align:center;padding:40px 0 80px}
.load-more-btn{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;padding:18px 48px;border:1px solid #1a1615;color:#1a1615;background:transparent;cursor:pointer;border-radius:1px;transition:all 0.3s;font-family:Inter,'DM Sans',sans-serif}
.load-more-btn:hover{background:#1a1615;color:#f7f5f2}
.no-match{display:none;text-align:center;padding:80px 48px;font-family:Inter,'DM Sans',sans-serif;font-size:32px;font-weight:300;color:#5A5E7A}
@media(max-width:1000px){
  .prop-hero{padding:60px 24px 32px;}
  .filter-bar{padding:0;overflow-x:auto}.filter-group{min-width:0}.filter-search-wrap{min-width:0}
  .listings-layout{padding:0 16px}
  .listing-hero{grid-template-columns:1fr;direction:ltr!important;}
  .listing-content{border-left:none!important;border-right:none!important;border-top:1px solid rgba(0,0,0,0.15);padding:32px 24px}
  .listing-row{grid-template-columns:1fr}
  .listing-card{border-right:none;border-bottom:1px solid rgba(0,0,0,0.15)}
  .listing-strip{grid-template-columns:1fr}
  .strip-content{flex-direction:column;align-items:flex-start;padding:24px;gap:20px}
  .strip-right{text-align:left}
}
@media(max-width:600px){
  .filter-label{font-size:11px}
  .card-meta,.strip-meta{font-size:10px}
  .card-stat-label,.strip-stat-label{font-size:10px}
  .listings-layout{overflow-x:hidden}
  .prop-hero{padding:48px 16px 24px}
  .filter-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0}
  .filter-group{min-width:100px;flex-shrink:0}
  .filter-search-wrap{min-width:100px;max-width:100%;padding:0 12px}
  .load-more-btn{padding:16px 32px;width:100%;justify-content:center}
  .strip-content{padding:20px 16px;gap:16px}
  .listing-content{padding:24px 16px}
  .no-match{padding:60px 16px;font-size:24px}
  .listing-stats{gap:16px}
  .listing-badge{top:12px;left:12px}
}
@media(max-width:400px){
  .filter-group{min-width:80px}
  .prop-hero h1{font-size:clamp(28px,8vw,48px)}
}
.filter-summary{display:flex;flex-direction:column;justify-content:center;padding:16px 28px;cursor:pointer;height:100%}
.filter-group.open .filter-dropdown{display:block !important}
.filter-group.open{z-index:100}

.filter-search-wrap{display:flex;align-items:center;padding:0 16px;border-right:1px solid rgba(0,0,0,0.15);flex:1;max-width:220px;min-width:120px}
.filter-search-input{border:none;background:transparent;font-family:Inter,DM Sans,sans-serif;font-size:13px;color:#1a1615;width:100%;outline:none;padding:0}
.filter-search-input::placeholder{color:#999;font-size:12px}

.card-heart{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.9);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;z-index:10;transition:transform 0.15s,background 0.15s;backdrop-filter:blur(4px)}
.card-heart:hover{transform:scale(1.1)}
.card-heart.active{color:#e05a5a}

.prop-skel{height:320px;background:linear-gradient(90deg,#ece9e4 25%,#e2dfda 50%,#ece9e4 75%);background-size:200% 100%;animation:propShimmer 1.4s infinite;border-right:1px solid rgba(0,0,0,0.1);border-bottom:1px solid rgba(0,0,0,0.1)}@keyframes propShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.prop-skel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;border-top:1px solid rgba(0,0,0,0.15)}
.dropdown-portal{position:fixed;top:0;left:0;width:0;height:0;z-index:9999;pointer-events:none;overflow:visible}

/* M-9 Phase B Final */
.card-price-mo { font-size: 12px; color: #5A5E7A }
.card-stat-val.is-text { font-size: 14px }
.dynamic-header { padding: 32px 0 16px }
.dynamic-header-text { font-size: 10px; letter-spacing: .25em; text-transform: uppercase; color: #5A5E7A }
.dd-backdrop { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 9998; background: transparent }
.filter-dropdown-positioned { display: block; position: fixed; z-index: 10000; pointer-events: auto; background: #fff; border: 2px solid #1a1a1a; box-shadow: 0 16px 48px rgba(26,22,21,0.18) }

/* A-3 — shimmer skeleton on listing card images */
.card-img-wrap.is-loading::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ece9e4 25%,#e2dfda 50%,#ece9e4 75%);background-size:200% 100%;animation:propShimmer 1.4s infinite;z-index:1;pointer-events:none}
.card-img-wrap.is-loading img{opacity:0;transition:opacity 0.25s}
.card-img-wrap img{opacity:1;transition:opacity 0.25s}
