
/* ============================================================
   泗洪聚好房 · 视觉系统 v2（高端 · 正规 · 专业 · 现代科技感）
   配色：深靛蓝/墨蓝 + 暗金（灰蓝+暗金 强调色）
   原则：金色只做强调，不做大面积铺底；大量留白 + 柔和 elevation + 细金线
   ============================================================ */
:root{
  --ink:#0A1428;            /* 墨蓝（主文字 / 价格）*/
  --navy:#13285C;           /* 深靛蓝 */
  --blue:#2C54C8;           /* 皇家蓝（次级蓝）*/
  --gold:#C9A86A;           /* 暗金（主强调）*/
  --gold-light:#E6CF9A;     /* 浅金 */
  --gold-deep:#A07C3C;      /* 深金 */
  --text:#1C2433;
  --muted:#6B7690;
  --line:#E8EBF3;
  --bg:#F3F5FB;             /* 冷调浅灰底 */
  --red:#DC2626;
  --green:#0E8A5B;
  --radius:20px;
  --shadow-sm:0 4px 14px rgba(15,31,77,.06);
  --shadow-md:0 10px 30px rgba(15,31,77,.10);
  --shadow-lg:0 18px 48px rgba(10,20,40,.18);
  --goldline:1px solid rgba(201,168,106,.35);
  --serif:"Songti SC","STSong","SimSun",serif;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{font-family:-apple-system,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden;letter-spacing:.2px}
a{text-decoration:none;color:inherit}
img{display:block}
button{font-family:inherit;cursor:pointer}

/* ===== 顶部导航栏（玻璃拟态 · 高端）===== */
.topbar{position:sticky;top:0;z-index:50;background:rgba(8,16,40,.78);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);color:#fff;padding:12px 24px;border-bottom:1px solid rgba(201,168,106,.16);box-shadow:0 6px 22px rgba(8,16,40,.18)}
.topbar-inner{display:flex;align-items:center;gap:14px;max-width:1120px;margin:0 auto}
.brand-logo{width:42px;height:42px;border-radius:13px;flex-shrink:0;background:linear-gradient(140deg,#F0DCA8 0%,#C9A86A 48%,#A07C3C 100%);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;color:#0A1428;box-shadow:0 6px 18px rgba(201,168,106,.42),inset 0 1px 0 rgba(255,255,255,.6);position:relative;overflow:hidden}
.brand-logo::after{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:conic-gradient(from 180deg,transparent 60%,rgba(230,207,154,.55),transparent 80%);border-radius:15px;z-index:-1;animation:logoGlow 5s linear infinite}
@keyframes logoGlow{to{transform:rotate(360deg)}}
.brand-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:800;letter-spacing:1.2px;line-height:1.2;background:linear-gradient(135deg,#fff 28%,rgba(230,207,154,.92) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-slogan{font-size:10px;color:rgba(230,207,154,.62);letter-spacing:2.5px;font-weight:600;margin-top:2px;text-transform:uppercase}
.login-btn{font-size:12.5px;font-weight:700;padding:7px 18px;border-radius:999px;background:rgba(255,255,255,.06);color:#EDE3CC;border:1px solid rgba(201,168,106,.34);white-space:nowrap;transition:all .25s ease;backdrop-filter:blur(4px)}
.login-btn:hover{background:rgba(201,168,106,.16);border-color:rgba(201,168,106,.6);box-shadow:0 4px 16px rgba(201,168,106,.18)}
.login-btn.user{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#0A1428;border:none;box-shadow:0 4px 14px rgba(201,168,106,.35)}
.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.topbar-back{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:700;padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;white-space:nowrap;backdrop-filter:blur(8px);transition:.2s}
.topbar-back:hover{background:rgba(255,255,255,.24)}

/* ===== Hero（高端 · 沉浸 · 科技感）===== */
.hero{background:radial-gradient(1200px 520px at 78% -10%,rgba(44,84,200,.30),transparent 60%),linear-gradient(160deg,#060C22 0%,#0A1638 30%,#10224f 62%,#16306e 88%,#1E3A8A 100%);color:#fff;padding:52px 20px 40px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse 72% 62% at 50% 38%,black 28%,transparent 82%);-webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 38%,black 28%,transparent 82%)}
.hero::after{content:'';position:absolute;left:-120px;bottom:-160px;width:460px;height:460px;background:radial-gradient(circle,rgba(44,84,200,.42),transparent 65%);border-radius:50%}
.hero .hero-glow{position:absolute;right:-40px;top:-70px;width:340px;height:340px;background:radial-gradient(circle,rgba(201,168,106,.20),transparent 65%);border-radius:50%;pointer-events:none}
.hero .hero-particle{position:absolute;border-radius:50%;background:rgba(230,207,154,.4);pointer-events:none;animation:particleFloat 8s ease-in-out infinite}
.hero .hero-particle:nth-child(1){width:4px;height:4px;left:12%;top:30%;animation-delay:0s}
.hero .hero-particle:nth-child(2){width:3px;height:3px;left:80%;top:20%;animation-delay:2.5s;animation-duration:10s}
.hero .hero-particle:nth-child(3){width:5px;height:5px;left:63%;top:70%;animation-delay:5s;animation-duration:7s}
@keyframes particleFloat{0%,100%{transform:translateY(0) scale(1);opacity:.3}50%{transform:translateY(-16px) scale(1.4);opacity:.75}}
.hero-inner{max-width:1120px;margin:0 auto;position:relative;z-index:1}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:3px;color:var(--gold-light);padding:6px 14px;border:1px solid rgba(201,168,106,.4);border-radius:999px;background:rgba(201,168,106,.08);margin-bottom:18px;text-transform:uppercase}
.hero-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(201,168,106,.9)}
.hero-title{font-size:34px;font-weight:900;letter-spacing:1.5px;line-height:1.34;margin-bottom:6px}
.hero-title span{background:linear-gradient(135deg,#F4E4BC 0%,#E6CF9A 42%,#C9A86A 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-subtitle{font-size:13.5px;color:rgba(255,255,255,.55);letter-spacing:4px;font-weight:500;margin-top:8px;text-transform:uppercase}

/* 搜索栏（玻璃拟态 · 金按钮） */
.hero .search-bar{max-width:none;margin:26px 0 0;padding:0}
.hero .search-box{display:flex;background:rgba(255,255,255,.08);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border:1px solid rgba(201,168,106,.28);box-shadow:0 18px 50px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.05) inset;border-radius:16px;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.hero .search-box:focus-within{border-color:rgba(230,207,154,.6);box-shadow:0 22px 60px rgba(0,0,0,.42),0 0 0 1px rgba(230,207,154,.12) inset,0 0 28px rgba(201,168,106,.16)}
.hero .search-cate{flex:0 0 auto;display:flex;align-items:center;gap:5px;padding:0 16px;font-size:13.5px;font-weight:800;color:rgba(255,255,255,.9);border-right:1px solid rgba(255,255,255,.12);cursor:pointer;white-space:nowrap;background:transparent;transition:color .2s}
.hero .search-cate:hover{color:#fff}
.hero .search-cate .arrow{color:rgba(230,207,154,.55);font-size:11px}
.hero .search-input{flex:1;border:none;outline:none;padding:16px 16px;font-size:14.5px;color:#fff;background:transparent;font-family:inherit;min-width:0;letter-spacing:.4px}
.hero .search-input::placeholder{color:rgba(255,255,255,.38)}
.hero .search-btn{flex:0 0 auto;padding:0 30px;border:none;background:linear-gradient(135deg,#F0DCA8 0%,#C9A86A 55%,#A07C3C 100%);color:#0A1428;font-size:15px;font-weight:800;cursor:pointer;transition:all .22s ease;letter-spacing:2px}
.hero .search-btn:hover{filter:brightness(1.05);box-shadow:0 8px 26px rgba(201,168,106,.4)}

/* 数据统计（高端胶囊） */
.hero-stats{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:22px}
.hero-stats > span{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(201,168,106,.22);font-size:13px;color:rgba(255,255,255,.68);backdrop-filter:blur(4px);transition:all .22s}
.hero-stats > span:hover{background:rgba(201,168,106,.12);border-color:rgba(201,168,106,.4);color:rgba(255,255,255,.86)}
.hero-stats b{color:var(--gold-light);font-weight:900;margin-right:2px;font-variant-numeric:tabular-nums;font-size:15px;text-shadow:0 0 14px rgba(230,207,154,.35)}

/* 信任背书条 */
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(201,168,106,.18)}
.hero-trust .ht{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:rgba(255,255,255,.72);font-weight:600}
.hero-trust .ht i{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#F0DCA8,#C9A86A);color:#0A1428;font-size:12px;font-weight:900;font-style:normal;flex-shrink:0;box-shadow:0 3px 10px rgba(201,168,106,.4)}
.hero-trust .ht b{color:#fff;font-weight:800}

/* ===== 搜索条（列表区，沿用金色系）===== */
.search-bar{max-width:1080px;margin:14px auto 0;padding:0 16px}
.search-box{display:flex;background:#fff;border:2px solid rgba(201,168,106,.5);border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(201,168,106,.1)}
.search-cate{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:0 14px;font-size:14px;font-weight:800;color:#333;border-right:1px solid #eee;cursor:pointer;white-space:nowrap}
.search-cate .arrow{color:#999;font-size:11px}
.search-input{flex:1;border:none;outline:none;padding:13px 14px;font-size:14px;color:#333;background:#fff;font-family:inherit;min-width:0}
.search-btn{flex:0 0 auto;padding:0 22px;border:none;background:linear-gradient(135deg,#C9A86A,#A07C3C);color:#fff;font-size:15px;font-weight:800;cursor:pointer}

/* ===== 筛选面板 ===== */
.lfilter{max-width:1080px;margin:0 auto;padding:0 16px}
.lfilter-panel{background:#fff;border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-md);margin-top:-14px;position:relative;z-index:2;border:1px solid rgba(255,255,255,.7)}
.lf-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #f1f3f8}
.lf-row:last-child{border-bottom:none;padding-bottom:2px}
.lf-label{flex:0 0 auto;width:42px;font-size:13px;font-weight:800;color:#566;padding-top:6px;white-space:nowrap}
.lf-body{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ftag{font-size:13px;font-weight:600;color:#566;padding:5px 14px;border-radius:9px;background:#f5f7fb;cursor:pointer;white-space:nowrap;transition:all .15s;border:1px solid transparent}
.ftag:hover{background:#eef1f6;color:#334}
.ftag.active{color:var(--gold-deep);background:#FBF4E2;border-color:#EAD9AE;font-weight:700}
.lf-range{display:flex;align-items:center;gap:6px}
.lf-in{width:76px;border:1px solid #e3e7ef;border-radius:8px;padding:6px 10px;font-size:13px;color:#333;outline:none;font-family:inherit;text-align:center;transition:border-color .15s}
.lf-in:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,106,.12)}
.lf-sep{color:#bbb;font-size:13px}
.lf-unit{font-size:12px;color:#999}
.lf-btn{padding:5px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,#C9A86A,#A07C3C);color:#fff;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s}
.lf-btn:hover{opacity:.9}
.lf-select{flex:1;max-width:280px;border:1px solid #e3e7ef;border-radius:8px;padding:7px 12px;font-size:13px;color:#333;outline:none;font-family:inherit;background:#fff;cursor:pointer}
.lf-select:focus{border-color:var(--gold)}
.lf-sorts{display:flex;gap:6px;flex-wrap:wrap}
.lf-sort-btn{font-size:13px;font-weight:600;color:#566;padding:5px 14px;border-radius:9px;background:#f5f7fb;cursor:pointer;white-space:nowrap;transition:all .15s;border:1px solid transparent}
.lf-sort-btn:hover{background:#eef1f6}
.lf-sort-btn.active{color:var(--gold-deep);background:#FBF4E2;border-color:#EAD9AE;font-weight:700}

/* 结果计数 */
.result-count{max-width:1080px;margin:16px auto 0;padding:0 18px;font-size:13px;color:#8a93a6}
.result-count b{color:var(--gold-deep);font-weight:800}

/* 列表区小标题 */
.section-head{max-width:1080px;margin:22px auto 0;padding:0 18px;display:flex;align-items:center;gap:12px}
.section-head .sh-bar{width:5px;height:21px;border-radius:3px;background:linear-gradient(180deg,var(--gold-light),var(--gold-deep))}
.section-head h2{font-size:19px;font-weight:900;color:var(--ink);letter-spacing:1px}
.section-head .sh-sub{font-size:12px;color:var(--muted);margin-left:2px}
.section-head .sh-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(201,168,106,.35),transparent)}

/* 列表（横排卡片 · 升级质感） */
.wrap{max-width:1080px;margin:0 auto;padding:14px 16px}
.llist{display:flex;flex-direction:column;gap:12px}
.lrow{display:flex;gap:12px;background:#fff;border-radius:16px;padding:12px;border:1px solid #eef0f5;box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s,transform .2s;position:relative;overflow:hidden}
.lrow::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));opacity:0;transition:opacity .2s}
.lrow:hover{box-shadow:var(--shadow-md);border-color:#E6D9B8;transform:translateY(-2px)}
.lrow:hover::before{opacity:1}
.lrow .thumb{width:128px;height:96px;border-radius:12px;flex-shrink:0;background:linear-gradient(145deg,#f3f5f9,#e7ebf3);position:relative;overflow:hidden;cursor:pointer}
.lrow .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.lrow:hover .thumb img{transform:scale(1.06)}
.lrow .thumb .badge-l{position:absolute;left:0;top:0;font-size:11px;font-weight:800;color:#fff;padding:3px 9px;border-radius:10px 0 10px 0;background:linear-gradient(135deg,var(--navy),var(--blue))}
.lrow .thumb .badge-l.rent{background:linear-gradient(135deg,#0E8A5B,#1FB27A)}
.lrow .info{flex:1;min-width:0;display:flex;flex-direction:column}
.lrow .ltitle{font-size:16px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.lrow .ltitle:hover{color:var(--gold-deep)}
.lrow .lmeta{font-size:12px;color:#8a93a6;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .ltags{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.ltag{font-size:11px;color:var(--gold-deep);border:1px solid #EAD9AE;background:#FBF4E2;border-radius:5px;padding:2px 6px;white-space:nowrap}
.lrow .ldist{font-size:11px;color:#aaa;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;flex-shrink:0;min-width:74px;max-width:42%;cursor:pointer}
.lrow .price{font-size:20px;font-weight:900;color:var(--ink);line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.lrow .price .u{font-size:12px;font-weight:700;color:var(--gold-deep)}
.lrow .price-sub{font-size:11px;color:#aaa;margin-top:3px;white-space:nowrap}
.lrow .go{font-size:12px;color:var(--gold-deep);font-weight:700;margin-top:8px;white-space:nowrap}
.lrow .agent{margin-top:8px;padding-top:8px;border-top:1px dashed #eee;font-size:11px;color:#8a93a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .agent b{color:#566;font-weight:700}
.lrow .agent a.aname{color:var(--blue);font-weight:700;text-decoration:none;border-bottom:1px dashed rgba(44,84,200,.4)}
.lrow .agent a.aname:hover{color:var(--gold-deep);border-bottom-color:var(--gold-deep)}
.aname{color:var(--blue);font-weight:700;text-decoration:none}
a.aname:hover{color:var(--gold-deep)}
.lrow .agent .sep{color:#d5dae3;margin:0 5px}
.lrow .kvmini{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.lrow .kvmini .k{font-size:11px;font-weight:700;color:#fff;padding:3px 8px;border-radius:6px;background:linear-gradient(135deg,var(--navy),var(--blue));white-space:nowrap}
.lrow .kvmini .k.gray{background:linear-gradient(135deg,#9aa3b2,#7e8896)}
.lrow .agentcount{margin-top:6px;font-size:11px;font-weight:700;color:var(--gold-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.empty{padding:80px 20px;text-align:center;color:var(--muted)}
.empty .ico{font-size:56px;color:var(--gold);margin-bottom:14px}
.empty p{font-size:15px}
.loadmore{text-align:center;padding:20px;color:var(--muted);font-size:13px}

.chip{font-size:11px;font-weight:700;color:var(--navy);padding:3px 9px;border-radius:999px;background:linear-gradient(135deg,#eef3ff,#dbeafe);border:1px solid rgba(19,40,92,.14)}
.join-bar{max-width:1080px;margin:10px auto 0;padding:0 16px}
.join-btn{display:block;text-align:center;padding:14px;border-radius:16px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px dashed rgba(19,40,92,.3);color:var(--navy);font-size:14px;font-weight:700;letter-spacing:1px;box-shadow:0 4px 12px rgba(19,40,92,.06)}
.join-btn .gold{color:var(--gold-deep)}

/* ===== 详情页 ===== */
.detail{max-width:720px;margin:0 auto;padding-bottom:40px}
.detail-article{animation:fadeUp .5s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.detail-swiper{position:relative;width:100%;aspect-ratio:4/3;background:#0A1638;overflow:hidden}
.detail-swiper img{width:100%;height:100%;object-fit:cover;display:block}
.detail-swiper .d-gradient{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,22,56,.28) 0%,rgba(10,22,56,0) 28%,rgba(10,22,56,0) 60%,rgba(10,22,56,.82) 100%)}
.detail-swiper .count{position:absolute;right:12px;bottom:68px;font-size:12px;color:#fff;background:rgba(10,22,56,.55);padding:3px 11px;border-radius:999px;backdrop-filter:blur(6px);z-index:4}
.dprice-tag{position:absolute;left:14px;bottom:12px;z-index:2;display:flex;align-items:baseline;gap:5px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.dprice-tag .num{font-size:30px;font-weight:900;letter-spacing:.5px}
.dprice-tag .unit{font-size:14px;font-weight:700}
.dprice-tag .sub{font-size:12px;font-weight:500;opacity:.92;margin-left:4px}
.dthumbs{position:absolute;left:0;right:0;bottom:0;display:flex;gap:8px;padding:10px 14px;overflow-x:auto;background:linear-gradient(transparent,rgba(10,22,56,.75));z-index:3}
.dthumbs img{width:64px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0;opacity:.85;border:2px solid rgba(255,255,255,.3);cursor:pointer;transition:.2s}
.dthumbs img.on{opacity:1;border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,168,106,.5),0 2px 8px rgba(0,0,0,.3)}
.dthumbs img:active{transform:scale(.95)}
.detail-main{background:#fff;border-radius:var(--radius) var(--radius) 0 0;margin-top:-16px;position:relative;padding:22px 18px;box-shadow:0 -10px 30px rgba(10,20,40,.12)}
.detail-title-wrap{display:flex;flex-direction:column;gap:10px}
.detail-title{font-size:23px;font-weight:900;color:var(--ink);line-height:1.3;letter-spacing:.3px}
.d-badges{display:flex;flex-wrap:wrap;gap:7px}
.d-badge{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:999px;letter-spacing:.5px}
.d-badge.verify{color:#0A7d4d;background:linear-gradient(135deg,#e6f8ef,#c9f0dd);border:1px solid rgba(14,138,91,.2)}
.d-badge.real{color:#8a6a1f;background:linear-gradient(135deg,#FBF4E2,#F2E4C4);border:1px solid rgba(201,168,106,.3)}
.d-badge.free{color:#13285C;background:linear-gradient(135deg,#eaf1ff,#d6e4ff);border:1px solid rgba(19,40,92,.18)}
.detail-price{display:flex;align-items:baseline;gap:6px;margin-top:16px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#FBF7EE,#F7EFE0);border:1px solid rgba(201,168,106,.22)}
.detail-price .num{font-size:34px;font-weight:900;color:var(--ink);letter-spacing:.5px;font-variant-numeric:tabular-nums}
.detail-price .unit{font-size:15px;font-weight:800;color:var(--gold-deep)}
.detail-price .sub{font-size:13px;color:var(--gold-deep);margin-left:10px;font-weight:600;opacity:.85}
.detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.detail-tags .chip{font-size:12px;padding:5px 12px;color:var(--gold-deep);background:linear-gradient(135deg,#FBF4E2,#F2E4C4);border:1px solid rgba(201,168,106,.3)}
.detail-core{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.detail-core .c{background:linear-gradient(160deg,#f6f9ff,#eef3ff);border:1px solid rgba(19,40,92,.1);border-radius:14px;padding:15px 8px;text-align:center;transition:.2s}
.detail-core .c:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(19,40,92,.12)}
.detail-core .c .v{font-size:18px;font-weight:900;color:var(--navy);font-variant-numeric:tabular-nums}
.detail-core .c .k{font-size:11px;color:var(--muted);margin-top:5px;font-weight:600}
.sec{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.sec-title{font-size:16px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:9px}
.sec-title::before{content:'';width:6px;height:19px;border-radius:3px;background:linear-gradient(180deg,var(--gold-light),var(--gold-deep))}
.sec-body{font-size:14px;color:#444;line-height:1.75;margin-top:12px;white-space:pre-wrap}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.kv-item{font-size:13px;color:#444;padding:12px 14px;display:flex;gap:6px;align-items:baseline}
.kv-item:nth-child(odd){background:#fafbfe}
.kv-item b{color:var(--navy);font-weight:700;flex-shrink:0;min-width:36px}

.contact{background:linear-gradient(160deg,#0A1638,#16306e);border-radius:18px;margin-top:18px;padding:18px;box-shadow:var(--shadow-lg);color:#fff;position:relative;overflow:hidden}
.contact::after{content:'';position:absolute;right:-50px;top:-50px;width:180px;height:180px;background:radial-gradient(circle,rgba(201,168,106,.18),transparent 70%);pointer-events:none}
.contact-card{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.contact-avatar{width:54px;height:54px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#0A1428;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;box-shadow:0 6px 16px rgba(201,168,106,.4)}
.contact-info{flex:1;min-width:0}
.contact-name{font-size:17px;font-weight:800;color:#fff;display:flex;align-items:center;gap:6px}
.c-verify{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--gold);color:#0A1428;font-size:11px;font-weight:900}
.contact-company{font-size:12.5px;color:rgba(255,255,255,.75);margin-top:3px}
.contact-sub{font-size:11.5px;color:rgba(255,255,255,.55);margin-top:4px;letter-spacing:.3px}
.call-btn{display:block;margin-top:16px;text-align:center;padding:14px;border-radius:999px;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#0A1428;font-size:15px;font-weight:900;letter-spacing:1px;box-shadow:0 8px 20px rgba(201,168,106,.4);text-decoration:none;position:relative;z-index:1}
.call-btn:active{transform:scale(.97)}

.d-back{padding:16px 6px 0}
.lm-back{display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-size:14px;font-weight:700;padding:9px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 4px 12px rgba(19,40,92,.08)}

.msg{background:#fff;border-radius:var(--radius);margin-top:12px;padding:18px;box-shadow:var(--shadow-md)}
.msg-title{font-size:15px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:8px}
.msg-title::before{content:'';width:6px;height:18px;border-radius:3px;background:linear-gradient(180deg,var(--gold-light),var(--gold-deep))}
.msg-input{width:100%;margin-top:12px;padding:11px 14px;border-radius:12px;border:1px solid var(--line);font-size:14px;outline:none;background:#fafbfe;color:var(--text);font-family:inherit}
.msg-input:focus{border-color:var(--blue);background:#fff}
.msg-row{display:flex;gap:10px}
.msg-row .msg-input{flex:1}
.msg-textarea{min-height:80px;resize:vertical}
.msg-btn{margin-top:14px;width:100%;padding:13px;border:none;border-radius:999px;background:linear-gradient(135deg,#C9A86A,#A07C3C);color:#fff;font-size:15px;font-weight:800;letter-spacing:2px;cursor:pointer;box-shadow:0 6px 16px rgba(201,168,106,.3)}
.msg-btn:active{transform:scale(.97)}

.mask{position:fixed;inset:0;background:rgba(10,20,40,.55);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.mask.show{display:flex}
.modal{background:#fff;border-radius:20px;width:100%;max-width:420px;padding:26px;animation:pop .2s;box-shadow:var(--shadow-lg)}
@keyframes pop{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
.modal-title{font-size:18px;font-weight:800;color:var(--ink);text-align:center}
.modal-sub{font-size:13px;color:var(--muted);text-align:center;margin-top:6px}
.modal .msg-input{margin-top:14px}
.login-code{font-size:34px;font-weight:900;letter-spacing:6px;color:var(--ink);text-align:center;margin-top:20px;font-family:'SF Mono','Menlo',monospace}
.login-hint{font-size:13px;color:var(--muted);text-align:center;margin-top:12px;line-height:1.7}
.login-wait{font-size:13px;color:var(--blue);text-align:center;margin-top:14px;font-weight:600}

/* ===== 我的页面 ===== */
.mine{max-width:1080px;margin:0 auto;padding:16px;padding-bottom:60px}
.mine-head{background:linear-gradient(135deg,#13285C,#2C54C8);border-radius:var(--radius);padding:24px 20px;color:#fff;display:flex;align-items:center;gap:14px;box-shadow:0 10px 26px rgba(19,40,92,.28);position:relative;overflow:hidden}
.mine-head::after{content:'';position:absolute;right:-50px;top:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(201,168,106,.22),transparent 70%);pointer-events:none}
.mine-avatar{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;flex-shrink:0}
.mine-name{font-size:18px;font-weight:800}
.mine-company{font-size:12px;color:rgba(255,255,255,.9);margin-top:4px}
.mine-phone{font-size:12px;color:rgba(255,255,255,.8);margin-top:3px}
.mine-logout{margin-left:auto;font-size:12px;font-weight:700;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.2);color:#fff;border:none;white-space:nowrap}
.mine-tabs{display:flex;gap:0;margin-top:14px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.7)}
.mine-tab{flex:1;text-align:center;padding:13px 0;font-size:14px;font-weight:700;color:#666;background:#fff;border:none;cursor:pointer;position:relative}
.mine-tab.active{color:var(--gold-deep);font-weight:800}
.mine-tab.active::after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:38px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold-light),var(--gold-deep))}
.mine-content{margin-top:14px}
.mitem{background:#fff;border-radius:16px;padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow-sm);border:1px solid rgba(19,40,92,.06);position:relative}
.mitem-top{display:flex;align-items:center;gap:10px}
.mitem-name{font-size:15px;font-weight:800;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mitem-price{font-size:16px;font-weight:900;color:var(--gold-deep);white-space:nowrap}
.mitem-meta{font-size:12px;color:var(--muted);margin-top:6px}
.badge{font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}
.badge.on{background:#E8F7EF;color:var(--green)}
.badge.off{background:#F1F3F7;color:var(--muted)}
.badge.top{background:linear-gradient(135deg,#C9A86A,#A07C3C);color:#fff}
.mitem-actions{display:flex;gap:8px;margin-top:12px}
.abtn{flex:1;text-align:center;font-size:13px;font-weight:700;padding:8px 0;border-radius:999px;border:1px solid var(--line);color:var(--gold-deep);background:#fafbfe;cursor:pointer}
.abtn.primary{background:linear-gradient(135deg,#13285C,#2C54C8);color:#fff;border-color:transparent}
.abtn.warn{color:var(--red);border-color:rgba(220,38,38,.25)}
.msg-item{background:#fff;border-radius:16px;padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow-sm);border:1px solid rgba(19,40,92,.06)}
.msg-item-top{display:flex;align-items:center;gap:8px}
.msg-item-name{font-size:14px;font-weight:800;color:var(--ink)}
.msg-item-phone{font-size:12px;color:var(--blue);font-weight:600}
.msg-item-src{font-size:11px;color:var(--muted);margin-left:auto}
.msg-item-content{font-size:13px;color:#444;margin-top:8px;line-height:1.6}
.msg-item-house{font-size:12px;color:var(--gold-deep);margin-top:6px}

.toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:rgba(10,20,40,.92);color:#fff;font-size:14px;padding:10px 20px;border-radius:999px;z-index:200;display:none;white-space:nowrap;box-shadow:0 8px 24px rgba(10,20,40,.3)}

/* ===== 发布/编辑房源表单 ===== */
.pf{position:fixed;inset:0;z-index:120;background:#F3F5FB;display:none;flex-direction:column}
.pf.show{display:flex}
.pf-head{position:sticky;top:0;z-index:2;background:linear-gradient(135deg,#0A1638,#13285C 55%,#2C54C8);color:#fff;padding:14px 18px;display:flex;align-items:center;gap:10px}
.pf-title{font-size:17px;font-weight:800}
.pf-cancel{margin-left:auto;font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.18);border:none;color:#fff}
.pf-body{flex:1;overflow-y:auto;padding:16px;padding-bottom:90px;max-width:720px;width:100%;margin:0 auto}
.pf-row{margin-bottom:16px}
.pf-label{font-size:13px;font-weight:700;color:#64748B;margin-bottom:8px;display:block}
.pf-input{width:100%;padding:11px 14px;border-radius:12px;border:1px solid #E5E9F2;font-size:14px;outline:none;background:#fff;color:#333;font-family:inherit}
.pf-input:focus{border-color:var(--blue);background:#fff}
.pf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pf-sec{background:#fff;border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:var(--shadow-sm);border:1px solid rgba(19,40,92,.05)}
.pf-sec-title{font-size:15px;font-weight:800;color:#0A1428;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.pf-sec-title::before{content:'';width:5px;height:16px;border-radius:3px;background:linear-gradient(180deg,var(--gold-light),var(--gold-deep))}
.seg{display:flex;gap:10px}
.seg button{flex:1;text-align:center;padding:11px 0;border-radius:12px;font-size:15px;font-weight:700;color:#64748B;background:#fff;border:1px solid #E5E9F2}
.seg button.active{color:#fff;background:linear-gradient(135deg,#13285C,#2C54C8);border-color:transparent}
.pf-imgs{display:flex;flex-wrap:wrap;gap:10px}
.pf-img{position:relative;width:88px;height:88px;border-radius:12px;overflow:hidden;background:#eff4ff}
.pf-img img{width:100%;height:100%;object-fit:cover}
.pf-img .del{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(10,20,40,.55);color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.pf-add{width:88px;height:88px;border-radius:12px;border:2px dashed rgba(19,40,92,.35);background:#fff;color:#13285C;font-size:30px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.pf-submit{position:sticky;bottom:0;margin-top:6px;width:100%;padding:15px;border:none;border-radius:999px;background:linear-gradient(135deg,#C9A86A,#A07C3C);color:#fff;font-size:16px;font-weight:800;letter-spacing:1px;box-shadow:0 8px 20px rgba(201,168,106,.3)}
.pf-submit:disabled{opacity:.6}
.pub-btn{display:block;width:100%;margin-top:14px;text-align:center;padding:13px;border-radius:999px;background:linear-gradient(135deg,#C9A86A,#A07C3C);color:#fff;font-size:15px;font-weight:800;letter-spacing:1px;box-shadow:0 6px 16px rgba(201,168,106,.25);border:none}

/* ===== 数据看板 ===== */
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stat-card{background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow-sm);border:1px solid rgba(19,40,92,.06)}
.stat-num{font-size:26px;font-weight:900;color:var(--navy);font-variant-numeric:tabular-nums}
.stat-label{font-size:12px;color:#64748B;margin-top:4px}
.ds-section{background:#fff;border-radius:16px;padding:16px;margin-top:14px;box-shadow:var(--shadow-sm);border:1px solid rgba(19,40,92,.06)}
.ds-title{font-size:14px;font-weight:800;color:#0A1428;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.ds-title::before{content:'';width:5px;height:16px;border-radius:3px;background:linear-gradient(180deg,var(--gold-light),var(--gold-deep))}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.bar-name{font-size:12px;color:#555;width:62px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{flex:1;height:14px;background:#eef2fb;border-radius:999px;overflow:hidden}
.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#13285C,#2C54C8)}
.bar-val{font-size:12px;font-weight:700;color:var(--navy);width:26px;text-align:right}
.trend{display:flex;align-items:flex-end;gap:3px;height:120px;margin-top:6px}
.trend-bar{flex:1;background:linear-gradient(180deg,#E6CF9A,#C9A86A);border-radius:4px 4px 0 0;min-height:2px}

/* ===== 经纪人房源汇总页 ===== */
.agent-page{max-width:1080px;margin:0 auto;padding:16px}
.agent-header{background:linear-gradient(135deg,#13285C,#2C54C8);border-radius:18px;padding:20px 22px;color:#fff;margin-bottom:16px;box-shadow:0 8px 24px rgba(19,40,92,.25);position:relative;overflow:hidden}
.agent-header::after{content:'';position:absolute;right:-50px;top:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(201,168,106,.2),transparent 70%);pointer-events:none}
.agent-header .back-btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:rgba(255,255,255,.88);cursor:pointer;margin-bottom:12px;transition:color .2s}
.agent-header .back-btn:hover{color:#fff}
.agent-header .back-btn .arr{font-size:18px;line-height:1}
.agent-header .ah-name{font-size:22px;font-weight:900;letter-spacing:.5px}
.agent-header .ah-sub{font-size:13px;color:rgba(255,255,255,.82);margin-top:6px}
.agent-header .ah-stats{display:flex;gap:24px;margin-top:14px}
.agent-header .ah-stat{text-align:center}
.agent-header .ah-stat .n{font-size:26px;font-weight:900}
.agent-header .ah-stat .l{font-size:11px;color:rgba(255,255,255,.78);margin-top:2px}
.agent-tabs{display:flex;gap:0;background:#fff;border-radius:14px;padding:4px;margin-bottom:14px;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.7)}
.agent-tab{flex:1;text-align:center;padding:10px 0;border-radius:11px;font-size:14px;font-weight:700;color:#666;cursor:pointer;transition:all .2s}
.agent-tab.active{background:linear-gradient(135deg,#C9A86A,#A07C3C);color:#fff;box-shadow:0 4px 12px rgba(201,168,106,.2)}
.agent-list .lrow{cursor:pointer}

/* ===== 经纪人独立页（高端科技感）===== */
.agent-profile{position:relative;display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#0A1638 0%,#13285C 60%,#2C54C8 100%);color:#fff;padding:24px 22px;border-radius:20px;margin:6px 0 16px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(201,168,106,.18)}
.agent-profile::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(201,168,106,.2),transparent 70%);pointer-events:none}
.ap-ring{position:absolute;left:18px;top:18px;width:78px;height:78px;border-radius:50%;background:conic-gradient(from 0deg,var(--gold),#fff,var(--gold-light),var(--gold));filter:blur(.3px);opacity:.9;animation:spin 6s linear infinite;z-index:0}
@keyframes spin{to{transform:rotate(360deg)}}
.ap-avatar{position:relative;z-index:1;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--gold-light),var(--gold));display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;color:#0A1428;overflow:hidden;flex-shrink:0;border:3px solid rgba(255,255,255,.35);box-shadow:0 6px 18px rgba(0,0,0,.3)}
.ap-avatar img{width:100%;height:100%;object-fit:cover}
.ap-main{flex:1;min-width:0;position:relative;z-index:1}
.ap-name{font-size:22px;font-weight:900;display:flex;align-items:center;gap:8px;flex-wrap:wrap;letter-spacing:.5px;color:#FFF8EE;text-shadow:0 1px 3px rgba(0,0,0,.25)}
.ap-sub{font-size:13px;color:rgba(255,255,255,.82);margin-top:6px}
.ap-badges{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}
.ap-badge{font-size:11px;font-weight:800;padding:3px 11px;border-radius:999px;white-space:nowrap}
.ap-badge.verify{color:#0A1428;background:linear-gradient(135deg,var(--gold-light),var(--gold))}
.ap-badge.free{color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32)}
.ap-badge.real{color:#1FB27A;background:rgba(31,178,122,.14);border:1px solid rgba(31,178,122,.4)}
.ap-contact{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.ap-tel{font-size:13px;font-weight:800;color:#0A1428;background:linear-gradient(135deg,var(--gold-light),var(--gold));padding:8px 18px;border-radius:999px;text-decoration:none;white-space:nowrap;box-shadow:0 4px 14px rgba(201,168,106,.35);transition:.2s}
.ap-tel:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(201,168,106,.5)}
.ap-chat{font-size:13px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.5);padding:8px 18px;border-radius:999px;text-decoration:none;white-space:nowrap;background:rgba(255,255,255,.08);backdrop-filter:blur(6px);transition:.2s}
.ap-chat:hover{background:rgba(255,255,255,.18)}
.agent-stats{display:flex;gap:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:18px 10px;box-shadow:var(--shadow-sm);margin-bottom:16px;overflow-x:auto}
.as{flex:1;min-width:64px;text-align:center;transition:transform .2s}
.as:hover{transform:translateY(-3px)}
.as .n{font-size:22px;font-weight:900;background:linear-gradient(135deg,#13285C,#2C54C8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums}
.as .l{font-size:12px;color:var(--muted);margin-top:4px}
.agent-tabs{display:flex;gap:8px;margin-bottom:14px}
.agent-tab{flex:1;font-size:14px;font-weight:700;color:#555;text-align:center;padding:12px 6px;border-radius:12px;background:rgba(255,255,255,.9);border:1px solid var(--line);cursor:pointer;transition:all .15s}
.agent-tab:hover{border-color:rgba(201,168,106,.4)}
.agent-tab.active{color:#fff;background:linear-gradient(135deg,#C9A86A,#A07C3C);border-color:transparent;box-shadow:0 6px 16px rgba(201,168,106,.25)}
.agent-tab .cnt{font-size:12px;opacity:.85;margin-left:2px}
.agent-wants{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.want-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow-sm);transition:.2s}
.want-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.wc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.wc-badge{font-size:12px;font-weight:800;color:#fff;padding:3px 10px;border-radius:8px;background:linear-gradient(135deg,#C9A86A,#A07C3C)}
.wc-badge.rent{background:linear-gradient(135deg,#0E8A5B,#1FB27A)}
.wc-budget{font-size:15px;font-weight:800;color:var(--navy)}
.wc-body{display:flex;flex-direction:column;gap:7px}
.wc-item{font-size:13px;color:#555}
.wc-item b{color:var(--muted);font-weight:600;margin-right:6px}
.wc-foot{font-size:11px;color:#aaa;margin-top:10px;padding-top:9px;border-top:1px dashed var(--line)}

/* 卡片经纪名链接 */
.aname{color:var(--blue);font-weight:700;text-decoration:none}
.aname:hover{text-decoration:underline}
.lrow .verified{display:inline-block;font-size:10px;font-weight:800;color:#fff;background:linear-gradient(135deg,#0E8A5B,#1FB27A);padding:1px 7px;border-radius:999px;margin-left:6px;vertical-align:1px}
.lrow .agent .ava{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--navy),#7b5cf0);color:#fff;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;vertical-align:-5px;margin-right:5px}

/* ===== Footer（深墨蓝 + 金线）===== */
.site-footer{background:linear-gradient(180deg,#0A1428,#070D1E);color:rgba(255,255,255,.78);margin-top:30px;padding:34px 16px 24px;position:relative}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,106,.5),transparent)}
.sf-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}
.sf-brand{display:flex;gap:12px;align-items:center;max-width:340px}
.sf-logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--gold-light),var(--gold));display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#0A1428;flex-shrink:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 14px rgba(201,168,106,.3)}
.sf-name{font-size:17px;font-weight:800;color:#fff}
.sf-slogan{font-size:12px;color:rgba(230,207,154,.9);margin-top:3px;letter-spacing:.5px}
.sf-cols{display:flex;gap:36px;flex-wrap:wrap}
.sf-col{display:flex;flex-direction:column;gap:8px;font-size:13px}
.sf-h{font-size:13px;font-weight:800;color:#fff;margin-bottom:4px}
.sf-col a,.sf-col span{color:rgba(255,255,255,.7);text-decoration:none;font-size:13px}
.sf-col a:hover{color:var(--gold-light)}
.sf-bottom{max-width:1080px;margin:22px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.5);text-align:center;line-height:1.8}

/* 静态详情页增强 */
.bc{font-size:12px;color:var(--muted);padding:12px 4px}
.bc a{color:var(--blue);text-decoration:none}
.lm-back{display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-weight:700;font-size:14px;text-decoration:none;margin:6px 4px}

/* 经纪人二维码展示区 */
.qr-section{background:linear-gradient(135deg,#FFFBF0,#FFF8E8);border:1px solid rgba(201,168,106,.28);border-radius:18px;margin-top:18px;padding:28px 24px;box-shadow:0 8px 28px rgba(201,168,106,.1)}
.qr-head{text-align:center;margin-bottom:22px}
.qr-title{font-size:18px;font-weight:800;color:#1A223B;letter-spacing:.5px}
.qr-sub{font-size:13px;color:#94A3B8;margin-top:6px}
.qr-list{display:flex;gap:32px;justify-content:center;flex-wrap:wrap}
.qr-item{display:flex;flex-direction:column;align-items:center;gap:10px}
.qr-box{width:180px;height:180px;border-radius:14px;background:#fff;border:1px solid #E8ECF4;padding:10px;box-shadow:0 4px 16px rgba(0,0,0,.06);overflow:hidden}
.qr-box img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.qr-label{font-size:13px;color:#A07C3C;font-weight:700}

@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.skel{display:flex;gap:12px;background:#fff;border-radius:16px;padding:12px;border:1px solid #eef0f5;box-shadow:var(--shadow-sm)}
.skel .sk-thumb{width:128px;height:96px;border-radius:12px;flex-shrink:0;background:linear-gradient(90deg,#eef1f6 25%,#e2e7f0 37%,#eef1f6 63%);background-size:800px 100%;animation:shimmer 1.3s infinite}
.skel .sk-lines{flex:1;display:flex;flex-direction:column;gap:10px;padding-top:6px;justify-content:center}
.skel .sk-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#eef1f6 25%,#e2e7f0 37%,#eef1f6 63%);background-size:800px 100%;animation:shimmer 1.3s infinite}
.skel .sk-line.w1{width:55%}.skel .sk-line.w2{width:85%}.skel .sk-line.w3{width:42%}
@media(min-width:700px){.skel .sk-thumb{width:150px;height:112px}}

/* ============================================================
   响应式（系统化适配，覆盖各机型）
   ============================================================ */
@media(min-width:600px){
  .topbar-inner,.search-bar,.lfilter,.result-count,.section-head,.wrap,.mine,.agent-page,.detail,.site-footer .sf-inner,.site-footer .sf-bottom,.stat-grid{max-width:1120px;margin-left:auto;margin-right:auto}
}
@media(max-width:560px){
  .topbar{padding:10px 14px}
  .topbar-inner{gap:10px}
  .brand-logo{width:38px;height:38px;border-radius:12px;font-size:18px}
  .brand-name{font-size:16px;letter-spacing:.4px}
  .brand-slogan{display:none}
  .login-btn{padding:7px 14px;font-size:12px}
  .topbar-actions{gap:6px}
  .hero{padding:40px 16px 30px}
  .hero-title{font-size:26px;letter-spacing:.6px}
  .hero-subtitle{font-size:11px;letter-spacing:2.5px}
  .hero-eyebrow{font-size:11px;letter-spacing:2px;padding:5px 12px}
  .hero .search-cate{padding:0 12px;font-size:13px}
  .hero .search-input{padding:14px 12px;font-size:14px}
  .hero .search-btn{padding:0 22px;font-size:14px}
  .hero-stats{gap:6px 6px;margin-top:16px}
  .hero-stats > span{padding:6px 12px;font-size:12px}
  .hero-stats b{font-size:14px}
  .hero-trust{gap:8px 18px;margin-top:18px;padding-top:14px}
  .hero-trust .ht{font-size:12px;gap:7px}
  .agent-profile{padding:18px 14px;border-radius:16px;gap:14px}
  .ap-ring{left:14px;top:14px;width:66px;height:66px}
  .ap-avatar{width:58px;height:58px;font-size:24px}
  .ap-name{font-size:18px}
  .ap-sub{font-size:12px}
  .ap-tel,.ap-chat{padding:6px 13px;font-size:12px}
  .agent-stats{padding:14px 8px;gap:6px}
  .as{min-width:58px}
  .as .n{font-size:18px}
  .as .l{font-size:11px}
  .agent-tab{padding:10px 4px;font-size:13px}
}
@media(max-width:420px){
  .lrow{gap:10px;padding:10px}
  .lrow .thumb{width:104px;height:78px;border-radius:9px}
  .lrow .ltitle{font-size:15px}
  .lrow .lmeta{font-size:11.5px;margin-top:5px}
  .lrow .ltags{margin-top:6px;gap:5px}
  .ltag{font-size:10.5px;padding:2px 5px}
  .lrow .right{min-width:66px}
  .lrow .price{font-size:18px}
  .lrow .price .u{font-size:11px}
  .lrow .price-sub{font-size:10.5px}
  .lrow .go{font-size:11px;margin-top:6px}
  .lrow .agent{font-size:10.5px;margin-top:6px;padding-top:6px}
  .lfilter-panel{padding:14px 14px;margin-top:-10px}
  .lf-label{width:38px;font-size:12px}
  .lf-in{width:68px;padding:6px 8px;font-size:12px}
  .lf-btn{padding:6px 12px;font-size:12px}
  .lf-select{font-size:12.5px;padding:7px 10px}
  .lf-row{padding:9px 0}
  .result-count{font-size:12.5px}
  .section-head{margin-top:18px}
  .section-head h2{font-size:17px}
  .modal{padding:22px 18px}
  .mine{padding:14px}
  .mine-head{padding:20px 16px;border-radius:16px}
  .mine-avatar{width:50px;height:50px;font-size:22px}
  .mine-name{font-size:16px}
  .mitem{padding:12px 14px}
  .mitem-name{font-size:14px}
  .mitem-price{font-size:15px}
  .stat-card{padding:14px}
  .stat-num{font-size:22px}
  .bar-name{width:54px;font-size:11px}
  .agent-page{padding:14px}
  .agent-wants{grid-template-columns:1fr}
  .pf-body{padding:14px;padding-bottom:90px}
  .pf-add,.pf-img{width:80px;height:80px;font-size:26px}
  .mask{padding:14px}
  .modal{border-radius:16px;padding:20px 16px}
  .modal-title{font-size:16px}
  .login-code{font-size:28px;letter-spacing:4px;margin-top:16px}
}
@media(max-width:360px){
  .topbar{padding:8px 10px}
  .topbar-inner{gap:7px}
  .brand-logo{width:34px;height:34px;border-radius:10px;font-size:16px}
  .brand-name{font-size:14.5px}
  .login-btn{padding:6px 10px;font-size:11px;letter-spacing:0}
  .topbar-actions{gap:5px}
  .hero{padding:32px 12px 26px}
  .hero-title{font-size:22px;letter-spacing:.2px}
  .hero-subtitle{font-size:10px;letter-spacing:1.8px}
  .hero .search-box{border-radius:13px}
  .hero .search-cate{padding:0 9px;font-size:12px;gap:3px}
  .hero .search-input{padding:12px 9px;font-size:13px}
  .hero .search-btn{padding:0 16px;font-size:13px;letter-spacing:0}
  .hero-stats > span{padding:5px 10px;font-size:11px}
  .hero-stats b{font-size:13px}
  .lrow .thumb{width:90px;height:68px}
  .lrow .ltitle{font-size:14px;white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .lrow .right{min-width:58px}
  .lrow .price{font-size:16px}
  .lrow .ldist{font-size:10px}
  .lrow .kvmini .k{font-size:10px;padding:2px 6px}
  .lf-label{width:34px}
  .lf-in{width:60px}
  .agent-header .ah-stat .n{font-size:22px}
}
@media(max-width:480px){
  .detail-main{padding:18px 14px}
  .detail-price .num{font-size:27px}
  .detail-title{font-size:19px}
  .detail-core .c{padding:11px 4px}
  .detail-core .c .v{font-size:15px}
  .detail-core .c .k{font-size:10px}
  .kv{gap:8px 12px}
  .contact-card{flex-wrap:wrap;gap:10px}
  .sec-title{font-size:14px}
  .sec-body{font-size:13px}
  .msg-row{flex-direction:column;gap:10px}
}
.topbar{padding-top:calc(12px + env(safe-area-inset-top))}
@supports(padding-bottom:env(safe-area-inset-bottom)){
  .toast{bottom:calc(80px + env(safe-area-inset-bottom))}
  .pf-head{padding-top:calc(14px + env(safe-area-inset-top))}
  .pf-submit{padding-bottom:calc(15px + env(safe-area-inset-bottom))}
  .detail-bar{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .mine{padding-top:calc(16px + env(safe-area-inset-top))}
}
@media(max-height:480px) and (orientation:landscape){
  .hero{padding:24px 20px 20px}
  .hero .search-bar{margin-top:16px}
  .hero-stats{margin-top:12px}
  .topbar{padding-top:calc(10px + env(safe-area-inset-top))}
}
