/* ============================================================
 * 鄂州生活门户 - 公共样式表 common.css
 * 从效果图 preview.html 提取,保持设计风格统一
 * 包含:主题变量 / topbar / header / hero / section / news-grid
 *      duo-grid / activity-grid / marry-list / shop-list
 *      circle-grid / service-bar / footer / float-bar / 通用组件
 * ============================================================ */

/* 视觉隐藏但对搜索引擎/屏幕阅读器可见(h1 SEO 关键词) */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

:root{
  --primary:#E85D04;          /* 琥珀橙 - 活力主色 */
  --primary-dark:#BC3908;
  --ink:#1A1A1A;
  --ink-2:#3D3D3D;
  --muted:#6B7280;
  --line:#E5E7EB;
  --bg:#FAF7F2;               /* 米白底,温暖 */
  --card:#FFFFFF;
  --accent:#0F3D2E;           /* 深墨绿 - 信任辅助 */
  --gold:#C9A227;             /* 古铜金 - 文化点缀 */
  --tag-news:#1E6FBA;
  --tag-second:#E85D04;
  --tag-house:#0F3D2E;
  --tag-activity:#C9A227;
  --tag-marry:#D6336C;
  --tag-shop:#0CA678;
  --tag-circle:#7048E8;
  --shadow-sm:0 1px 2px rgba(15,61,46,.06);
  --shadow:0 6px 24px -8px rgba(15,61,46,.12);
  --shadow-lg:0 20px 50px -20px rgba(15,61,46,.25);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
/* 懒加载占位与状态(详见 lazyload.js) */
img.lazy{opacity:0;transition:opacity .35s ease;background:#f3f4f6}
img.lazy-loaded{opacity:1}
img.lazy-error{opacity:.4;outline:1px dashed #ddd}
.container{max-width:1240px;margin:0 auto;padding:0 20px}

/* ============ 主导航 Header 双行布局 ============ */
.header{position:sticky;top:0;z-index:50}

/* --- 第一行: Logo + 搜索 + 发布 --- */
.header-top{background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}
.header-top .container{display:flex;align-items:center;height:72px;gap:24px}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
.logo-mark{width:48px;height:48px;background:linear-gradient(135deg,#E74C3C,#C0392B);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-weight:900;font-size:24px;box-shadow:0 4px 12px rgba(231,76,60,.3)}
.logo-text{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-weight:900;font-size:24px;color:var(--ink);letter-spacing:1px;line-height:1.2}
.logo-text small{display:block;font-family:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:11px;color:var(--muted);letter-spacing:1px;font-weight:400;margin-top:0}

/* --- 搜索框容器(含搜索框+下拉热搜) --- */
.search-wrap{position:relative;width:480px;margin-left:auto;flex-shrink:0}

/* --- 搜索框(方形,带分类下拉,靠右) --- */
.search-box{display:flex;align-items:center;background:#fff;border:1.5px solid #ddd;border-radius:0;padding:0;height:42px;transition:border-color .3s,box-shadow .3s;overflow:visible;width:100%}
.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px rgba(232,93,4,.1)}
.search-select{border:none;border-right:1px solid #ddd;background:#f8f8f8;font-size:13px;color:var(--ink-2);padding:0 28px 0 14px;height:100%;cursor:pointer;outline:none;flex-shrink:0;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 4l3 3 3-3' fill='none' stroke='%23999' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.search-box input{border:none;background:transparent;outline:none;flex:1 1 auto;min-width:0;font-size:14px;color:var(--ink);padding:0 12px;height:100%}
.search-box input::placeholder{color:#aaa}
.search-box button{background:#3B82F6;color:#fff;border:none;padding:0 30px;height:100%;font-size:15px;cursor:pointer;font-weight:600;transition:background .2s;flex-shrink:0;white-space:nowrap}
.search-box button:hover{background:#2563EB}

/* --- 发布按钮(绿色风格,方角) --- */
.btn-publish{background:#52C41A;color:#fff;padding:10px 28px;border-radius:0;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s;flex-shrink:0;white-space:nowrap;text-decoration:none;border:1.5px solid #45A814}
.btn-publish:hover{background:#45A814}

/* --- 热门搜索下拉(搜索框内部) --- */
.search-dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;z-index:100;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.search-dropdown.is-open{display:block}
.search-dropdown-title{font-size:12px;color:#999;padding:10px 14px 6px}
.search-dropdown-list{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 12px}
.search-dropdown-list a{font-size:12px;color:#666;background:#f5f5f5;padding:4px 12px;border-radius:3px;transition:color .2s,background .2s;text-decoration:none}
.search-dropdown-list a:hover{color:var(--primary);background:#FFF4ED}

/* --- 第二行: 导航栏(蓝色背景) --- */
.header-nav{background:#3B82F6}
.header-nav .container{display:flex;align-items:center;height:48px;gap:16px}
.nav-links{display:flex;align-items:center;gap:0;flex:1;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-links a,.nav-item>a{padding:8px 20px;font-size:16px;font-weight:500;color:rgba(255,255,255,.85);border-radius:4px;transition:color .2s,background .2s;position:relative;white-space:nowrap;-webkit-tap-highlight-color:transparent;text-decoration:none;display:block}
.nav-links a:hover,.nav-item>a:hover{color:#fff;background:rgba(255,255,255,.15)}
.nav-links a.active,.nav-item.is-active>a{color:#fff;font-weight:700;background:rgba(255,255,255,.18)}
.nav-links a.active:hover,.nav-item.is-active>a:hover{color:#fff;background:rgba(255,255,255,.22)}
.nav-links a[aria-current="page"]{color:#fff;font-weight:700;background:rgba(255,255,255,.18)}
.nav-links a .hot{position:absolute;top:0;right:2px;background:#FF4D4F;color:#fff;font-size:9px;padding:1px 4px;border-radius:6px;font-weight:700}

/* --- 导航下拉菜单 --- */
.nav-item{position:relative;display:flex;align-items:center}
.nav-dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:120px;padding:8px 0;border-radius:0 0 6px 6px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:100}
.nav-item:hover>.nav-dropdown{display:block}
.nav-dropdown a{display:block;padding:8px 16px;font-size:13px;color:var(--ink-2);white-space:nowrap;transition:background .15s,color .15s;text-decoration:none;border-radius:0}
.nav-dropdown a:hover{background:#FFF4ED;color:var(--primary)}
.nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav-link-item{color:rgba(255,255,255,.85);font-size:13px;transition:color .2s;text-decoration:none;white-space:nowrap}
.nav-link-item:hover{color:#fff}
.nav-user-link{color:#fff;font-size:13px;text-decoration:none;white-space:nowrap}
.nav-app-link{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.9);font-size:13px;padding:5px 12px;border:1px solid rgba(255,255,255,.4);border-radius:4px;transition:background .2s,color .2s;white-space:nowrap;text-decoration:none}
.nav-app-link:hover{background:rgba(255,255,255,.15);color:#fff}

/* 移动端菜单切换按钮(默认隐藏,小屏显示) */
.nav-toggle{display:none;width:40px;height:40px;background:transparent;border:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;margin-left:auto;-webkit-tap-highlight-color:transparent;flex-shrink:0}
.nav-toggle-bar{display:block;width:22px;height:2.5px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s,background .2s}
.nav-toggle:hover .nav-toggle-bar{background:rgba(255,255,255,.8)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.nav-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:6px}

/* ============ Hero ============ */
.hero{padding:24px 0}
.hero-grid{display:grid;grid-template-columns:1fr 320px;gap:20px}
.banner{position:relative;border-radius:16px;overflow:hidden;height:380px;box-shadow:var(--shadow)}
.banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner-slide{position:absolute;inset:0;background:linear-gradient(135deg,#0F3D2E 0%,#1A5C45 60%,#C9A227 100%);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:32px;color:#fff}
.banner-slide::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 80% 20%,rgba(232,93,4,.4),transparent 50%),
  radial-gradient(circle at 20% 80%,rgba(201,162,39,.3),transparent 50%);}
.banner-content{position:relative;z-index:2;max-width:60%}
.banner-link{position:absolute;inset:0;z-index:2;display:block}
.banner-tag{display:inline-block;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);padding:10px 28px;border-radius:0;font-size:18px;font-weight:600;border:1px solid rgba(255,255,255,.2);white-space:nowrap}
.banner-title{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:34px;font-weight:900;line-height:1.3;margin-bottom:10px;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.banner-desc{font-size:14px;opacity:.9;line-height:1.7}
.banner-dots{position:absolute;bottom:20px;right:24px;display:flex;gap:6px;z-index:3}
.banner-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer}
.banner-dots span.active{background:#fff;width:24px;border-radius:4px}

/* 快捷入口 */
.quick-nav{background:#fff;border-radius:16px;padding:20px;box-shadow:var(--shadow);height:380px;display:flex;flex-direction:column}
.quick-nav-title{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-weight:700;font-size:16px;margin-bottom:16px;color:var(--ink);display:flex;align-items:center;gap:8px}
.quick-nav-title::before{content:"";width:4px;height:16px;background:var(--primary);border-radius:2px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;flex:1}
.quick-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 6px;border-radius:12px;background:var(--bg);transition:all .25s;cursor:pointer;text-align:center;animation:quickIn .45s ease both}
.quick-item:hover{background:#FFF4ED;transform:translateY(-3px);box-shadow:0 6px 14px rgba(0,0,0,.08)}
.quick-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:6px;color:#fff;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.quick-item span{font-size:12px;font-weight:500;color:var(--ink-2)}
/* 快捷入口 SVG 图标:自适应尺寸 + 悬浮动画 */
.quick-icon img{width:26px;height:26px;display:block}
.quick-item:hover .quick-icon{transform:scale(1.12) rotate(-6deg)}
.quick-item:hover .quick-icon img{animation:quickWiggle .5s ease}
/* 入场动画:依次上浮淡入 */
.quick-item:nth-child(1){animation-delay:.03s}
.quick-item:nth-child(2){animation-delay:.08s}
.quick-item:nth-child(3){animation-delay:.13s}
.quick-item:nth-child(4){animation-delay:.18s}
.quick-item:nth-child(5){animation-delay:.23s}
.quick-item:nth-child(6){animation-delay:.28s}
.quick-item:nth-child(7){animation-delay:.33s}
.quick-item:nth-child(8){animation-delay:.38s}
.quick-item:nth-child(9){animation-delay:.43s}
@keyframes quickIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes quickWiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
@media (prefers-reduced-motion: reduce){
  .quick-item{animation:none}
  .quick-item:hover .quick-icon{transform:none}
  .quick-item:hover .quick-icon img{animation:none}
}
.qi-news{background:linear-gradient(135deg,#1E6FBA,#0F4C81)}
.qi-second{background:linear-gradient(135deg,#E85D04,#BC3908)}
.qi-house{background:linear-gradient(135deg,#0F3D2E,#1A5C45)}
.qi-activity{background:linear-gradient(135deg,#C9A227,#A07D1C)}
.qi-marry{background:linear-gradient(135deg,#D6336C,#A61E4D)}
.qi-shop{background:linear-gradient(135deg,#0CA678,#087F5B)}
.qi-job{background:linear-gradient(135deg,#E85D04,#BC3908)}
.qi-circle{background:linear-gradient(135deg,#7048E8,#5F3DC4)}
.qi-publish{background:linear-gradient(135deg,#E85D04,#BC3908)}
.qi-user{background:linear-gradient(135deg,var(--primary),var(--primary-dark))}

/* ============ 通用区块 ============ */
.section{margin-top:20px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.section-title{display:flex;align-items:center;gap:12px}
.section-title h2{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:24px;font-weight:900;color:var(--ink)}
.section-title .en{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:11px;color:var(--muted);letter-spacing:3px;font-weight:400;text-transform:uppercase;margin-top:4px;display:block}
.section-title .bar{width:6px;height:28px;background:linear-gradient(180deg,var(--primary),var(--primary-dark));border-radius:3px}
.section-tabs{display:flex;gap:6px}
.section-tabs a{padding:6px 14px;border-radius:20px;font-size:13px;color:var(--muted);transition:all .2s;cursor:pointer}
.section-tabs a.active{background:var(--primary);color:#fff;font-weight:500}
.section-tabs a:hover:not(.active){background:#FFF4ED;color:var(--primary)}
.more{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:4px}
.more:hover{color:var(--primary)}

/* ============ 新闻资讯 ============ */
.news-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}
.news-feature{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .3s}
.news-feature:hover{transform:translateY(-4px)}
.news-feature-img{height:240px;background:linear-gradient(135deg,#1E6FBA,#0F4C81);position:relative;overflow:hidden}
.news-feature-img::after{content:"聚焦";position:absolute;top:14px;left:14px;background:var(--primary);color:#fff;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500}
.news-feature-body{padding:18px}
.news-feature-body h3{font-size:18px;font-weight:700;line-height:1.5;margin-bottom:8px;color:var(--ink);font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif}
.news-feature-body p{font-size:13px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-feature-meta{margin-top:12px;display:flex;gap:14px;font-size:12px;color:var(--muted)}

.news-list{background:#fff;border-radius:16px;padding:20px;box-shadow:var(--shadow)}
.news-list-item{padding:12px 0;border-bottom:1px dashed var(--line);display:flex;align-items:flex-start;gap:10px;cursor:pointer;transition:padding .2s}
.news-list-item:last-child{border-bottom:none}
.news-list-item:hover{padding-left:6px}
.news-list-item:hover h4{color:var(--primary)}
.news-list-item .dot{width:6px;height:6px;border-radius:50%;background:var(--primary);margin-top:8px;flex-shrink:0}
.news-list-item h4{font-size:14px;font-weight:500;line-height:1.6;color:var(--ink-2);flex:1;transition:color .2s}
.news-list-item .time{font-size:11px;color:var(--muted);flex-shrink:0}

.news-rank{background:#fff;border-radius:16px;padding:14px;box-shadow:var(--shadow)}
.rank-title{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-weight:700;font-size:14px;margin-bottom:8px;color:var(--ink);display:flex;align-items:center;justify-content:space-between}
.rank-title .fire{color:var(--primary)}
.rank-item{display:flex;align-items:flex-start;gap:8px;padding:5px 0;cursor:pointer;border-bottom:1px dashed var(--line)}
.rank-item:last-child{border-bottom:none}
.rank-num{width:18px;height:18px;border-radius:4px;background:var(--line);color:var(--muted);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.rank-num-1{background:var(--primary)!important;color:#fff!important}
.rank-num-2{background:#F77F00!important;color:#fff!important}
.rank-num-3{background:var(--gold)!important;color:#fff!important}
.rank-num-gray{background:var(--line)!important;color:var(--muted)!important}
.rank-text{flex:1;min-width:0;font-size:12px;color:var(--ink-2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.rank-item:hover .rank-text{color:var(--primary)}
.rank-hot{font-size:10px;color:var(--tag-marry);font-weight:700;flex-shrink:0;margin-top:2px}

/* 热门排行滚动容器 */
.rank-scroll{overflow:hidden}
.rank-scroll-inner{transition:transform .5s ease}

/* ============ 标签页切换(预加载+前端切换) ============ */
/* 激活态复用 .section-tabs a.active / .panel-tabs a.active,此处仅补 tab-panel 切换动画 */
.section-tabs a[data-cat],
.panel-tabs a[data-cat]{cursor:pointer}
.tab-panel{animation:tabFadeIn .2s ease}
@keyframes tabFadeIn{from{opacity:0}to{opacity:1}}

/* ============ 二手 + 房产 双栏 ============ */
.duo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{background:#fff;border-radius:16px;padding:20px;box-shadow:var(--shadow)}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:2px solid var(--bg)}
.panel-head h3{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:18px;font-weight:700;display:flex;align-items:center;gap:10px}
.panel-head h3 .ico{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}
.panel-tabs{display:flex;gap:4px}
.panel-tabs a{padding:4px 10px;font-size:12px;border-radius:12px;color:var(--muted);cursor:pointer}
.panel-tabs a.active{background:var(--bg);color:var(--ink);font-weight:500}

/* ============ 二手 + 房产 双栏(首页) ============ */
.second-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.second-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .25s}
.second-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}
.second-card-img{height:100px;background:linear-gradient(135deg,#FFE5D9,#FAB89A);position:relative}
.second-card-img .price{position:absolute;bottom:6px;left:6px;background:rgba(232,93,4,.95);color:#fff;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700}
.second-card-body{padding:10px}
.second-card-body h4{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.second-card-meta{font-size:11px;color:var(--muted);display:flex;justify-content:space-between}

/* ============ 二手市场列表页(PC):左图右文行卡片(仅 .second-page 内生效) ============ */
.second-page .second-row-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}
.second-page .second-row{display:flex;gap:14px;background:#fff;border-radius:14px;padding:14px;box-shadow:var(--shadow-sm);border:1px solid transparent;transition:all .25s}
.second-page .second-row:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}
.second-page .second-row-img{width:130px;height:130px;border-radius:10px;background:linear-gradient(135deg,#FFF4ED,#FFE3CC);flex-shrink:0;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}
.second-page .second-row-thumb{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.second-page .second-row:hover .second-row-thumb{transform:scale(1.05)}
.second-page .second-row-placeholder{font-size:44px;opacity:.6}
.second-page .second-card-sold{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;z-index:2}
.second-page .second-row-body{flex:1;min-width:0;display:flex;flex-direction:column}
.second-page .second-row-title{font-size:15px;font-weight:600;color:var(--ink);line-height:1.5;margin-bottom:8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.second-page .second-row-price{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.second-page .second-row-price-now{color:var(--primary);font-size:18px;font-weight:700}
.second-page .second-row-price-old{color:var(--muted);font-size:12px;text-decoration:line-through}
.second-page .second-row-tags{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.second-page .second-tag{font-size:11px;padding:2px 7px;border-radius:4px}
.second-page .second-tag-cond{background:#EDE7FF;color:#5F3DC4}
.second-page .second-tag-cat{background:#E6F7F0;color:#0CA678}
.second-page .second-row-meta{display:flex;gap:14px;font-size:12px;color:var(--muted);flex-wrap:wrap;margin-top:auto;padding-top:4px}

/* 二手工具栏:搜索 + 排序(仅列表页) */
.second-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow-sm);margin:0 0 18px;flex-wrap:wrap}
.second-search{display:flex;align-items:center;background:var(--bg);border:1.5px solid var(--primary);border-radius:20px;padding:3px 4px 3px 14px;overflow:hidden;flex:1;min-width:220px;max-width:340px}
.second-search input{border:none;background:transparent;outline:none;flex:1;min-width:0;font-size:13px;color:var(--ink)}
.second-search button{background:var(--primary);color:#fff;border:none;border-radius:16px;padding:5px 16px;font-size:13px;cursor:pointer;font-weight:500;transition:background .2s}
.second-search button:hover{background:var(--primary-dark)}
.second-sort{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.second-sort .label{font-size:13px;color:var(--muted)}
.second-sort a{padding:4px 12px;border-radius:14px;font-size:13px;color:var(--ink-2);transition:all .2s}
.second-sort a:hover{color:var(--primary);background:#FFF4ED}
.second-sort a.active{background:var(--primary);color:#fff;font-weight:500}

/* 筛选条:分类数量(em 小计数,仅二手列表页使用) */
.filter-bar .options a em{font-style:normal;font-size:11px;color:var(--muted);margin-left:2px}
.filter-bar .options a.active em{color:rgba(255,255,255,.85)}

/* 二手列表页响应式 */
@media (max-width:1080px){
  .second-page .second-row-list{grid-template-columns:1fr}
}
@media (max-width:860px){
  .second-page .second-row-list{grid-template-columns:1fr;margin:16px 0}
  .second-page .second-row-img{width:100px;height:100px}
}

.house-list{display:flex;flex-direction:column;gap:12px}
.house-card{display:flex;gap:12px;padding:10px;border-radius:10px;cursor:pointer;transition:background .2s;border:1px solid transparent}
.house-card:hover{background:var(--bg);border-color:var(--line)}
.house-card-img{width:120px;height:90px;border-radius:8px;background:linear-gradient(135deg,#D8E5D3,#9BB89A);flex-shrink:0;position:relative}
.house-card-img .tag{position:absolute;top:4px;left:4px;background:var(--accent);color:#fff;font-size:10px;padding:1px 6px;border-radius:4px}
.house-card-body{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.house-card-body h4{font-size:14px;font-weight:600;color:var(--ink)}
.house-card-body .info{font-size:12px;color:var(--muted);display:flex;gap:8px}
.house-card-body .price{color:var(--primary);font-weight:700;font-size:15px}
.house-card-body .price small{font-size:11px;font-weight:400}

/* ============ 活动 + 婚恋 ============ */
.activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.activity-card{border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow);transition:transform .3s;background:#fff}
.activity-card:hover{transform:translateY(-4px)}
.activity-card-img{height:130px;background:linear-gradient(135deg,#C9A227,#A07D1C);position:relative}
.activity-card-img .activity-tag{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);padding:3px 10px;border-radius:8px;font-size:11px;color:#fff}
.activity-card-body{padding:12px 14px}
.activity-card-body .date{font-size:11px;color:var(--muted);margin-bottom:4px}
.activity-card-body h4{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px;font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-card-body .meta{font-size:11px;color:var(--muted);display:flex;gap:10px}

/* ============ 婚恋 + 商家 ============ */
.marry-shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.marry-shop-grid>*{min-width:0}
.marry-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.marry-card{text-align:center;cursor:pointer;padding:10px;border-radius:10px;transition:background .2s;min-width:0;max-width:100%;overflow:hidden}
.marry-card:hover{background:var(--bg)}
.marry-avatar{width:64px;height:64px;border-radius:50%;margin:0 auto 8px;background:linear-gradient(135deg,#FFC9D9,#D6336C);position:relative}
.marry-avatar.m{background:linear-gradient(135deg,#A5D8FF,#1C7ED6)}
.marry-avatar .gender{position:absolute;bottom:0;right:6px;width:18px;height:18px;border-radius:50%;background:#D6336C;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.marry-avatar.m .gender{background:#1C7ED6}
.marry-card h5{font-size:12px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.marry-card p{font-size:10px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 婚恋列表 - 相册横滑 */
.marry-album{position:relative;overflow:hidden}
.marry-album-strip{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.marry-album-strip::-webkit-scrollbar{display:none;width:0;height:0}
.marry-album-strip img{flex:0 0 100%;width:100%;height:100%;object-fit:contain;object-position:center center;background:#111;scroll-snap-align:start}
.marry-album-count{position:absolute;bottom:36px;right:8px;background:rgba(0,0,0,.5);color:#fff;font-size:11px;padding:2px 8px;border-radius:10px;z-index:2;backdrop-filter:blur(4px)}

.shop-list{display:flex;flex-direction:column;gap:12px}
.shop-card{display:flex;gap:8px;padding:10px;border-radius:10px;cursor:pointer;transition:background .2s;border:1px solid transparent;min-width:0;width:100%;box-sizing:border-box}
.shop-card:hover{background:var(--bg);border-color:var(--line)}
.shop-logo{width:85px;height:85px;border-radius:10px;background:linear-gradient(135deg,#0CA678,#087F5B);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-weight:900;font-size:28px}
.shop-body{flex:1;min-width:0}
.shop-body h4{font-size:15px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-body h4 .badge{background:var(--gold);color:#fff;font-size:9px;padding:1px 5px;border-radius:3px}
.shop-body .desc{font-size:12px;color:var(--muted);margin:3px 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all}
.shop-body .meta{font-size:11px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;min-width:0;overflow-wrap:break-word;word-break:break-all}
.shop-body .meta .star{color:var(--gold)}

/* ============ 首页商家黄页:原始卡片 + 固定高度滚动(数据滚动不改变面板) ============ */
.shop-scroll{height:250px;overflow:hidden;padding:0 4px}
.shop-scroll-track{display:flex;flex-direction:column;will-change:transform;transition:transform .5s ease}
.shop-scroll-group{display:flex;flex-direction:column;gap:12px;padding-bottom:12px}
.shop-scroll.is-static .shop-scroll-track{transition:none}
.shop-scroll.is-static{height:auto}
.shop-scroll.is-static .shop-scroll-group:nth-child(2){display:none}
@media (prefers-reduced-motion:reduce){.shop-scroll-track{transition:none!important}}

/* ============ 同城圈子 ============ */
/* 三列:圈子宽(2fr),标签和用户窄(1fr),等高 */
.circle-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}
.circle-feed{background:#fff;border-radius:16px;padding:20px;box-shadow:var(--shadow);height:400px;overflow:hidden}
/* 帖子内部:头像左,内容右 */
.post-item{padding:10px 0;border-bottom:1px dashed #999;display:flex;gap:10px;cursor:pointer;align-items:flex-start}
.post-item:last-child{border-bottom:none}
.post-user{display:flex;flex-direction:column;align-items:center;gap:4px;width:56px;flex-shrink:0;padding-top:2px}
.post-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#7048E8,#5F3DC4);flex-shrink:0;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden}
.post-name{font-size:11px;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56px}
.post-body{flex:1;min-width:0}
.post-title{font-size:15px;font-weight:700;color:#1a1a1a;line-height:1.5;margin-bottom:4px;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-title .tag{background:#EDE7FF;color:#5F3DC4;font-size:10px;padding:1px 6px;border-radius:4px;flex-shrink:0}
.post-content{font-size:13px;color:var(--ink-2);line-height:1.7;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.post-images{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:6px;border-radius:8px;overflow:hidden}
.post-images .home-post-img{position:relative;padding-top:100%;overflow:hidden;background:#f2f3f5}
.post-images .home-post-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.post-images .home-post-img.img-broken{display:none}
.post-meta{display:flex;gap:18px;font-size:12px;color:var(--muted)}
.post-meta span{display:flex;align-items:center;gap:4px}
.post-meta span:hover{color:var(--primary)}

.circle-hot{background:#fff;border-radius:16px;padding:20px;box-shadow:var(--shadow);height:400px;overflow:hidden}
.rank-title .more{font-size:12px;color:var(--muted);font-weight:400}
.rank-title .more:hover{color:var(--primary)}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0 2px}
.tag-cloud-item{display:inline-block;padding:5px 12px;background:var(--bg);color:var(--ink-2);font-size:13px;border-radius:14px;transition:all .2s;line-height:1.5;white-space:nowrap}
.tag-cloud-item sup{font-size:10px;color:var(--muted);margin-left:4px;font-weight:400;vertical-align:super}
.tag-cloud-item:hover{background:var(--primary);color:#fff}
.tag-cloud-item:hover sup{color:#fff}

.circle-user{background:#fff;border-radius:16px;padding:20px;box-shadow:var(--shadow);height:400px;overflow:hidden}
.user-rec{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}
.user-rec:last-child{border-bottom:none}
.user-rec-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#FFC9D9,#D6336C);flex-shrink:0}
.user-rec-body{flex:1}
.user-rec-body h5{font-size:12px;font-weight:600}
.user-rec-body p{font-size:10px;color:var(--muted)}
.btn-follow{background:var(--bg);color:var(--primary);border:1px solid var(--primary);padding:3px 10px;border-radius:12px;font-size:11px;cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-follow:hover{background:var(--primary);color:#fff}
.btn-follow.followed{background:var(--bg);color:var(--muted);border-color:var(--line)}
.btn-follow.followed:hover{color:#e74c3c;border-color:#e74c3c;background:var(--bg)}
.btn-follow:disabled{opacity:.6;cursor:not-allowed}

/* ============ 服务保障条 ============ */
.service-bar{background:linear-gradient(135deg,#3B82F6,#2563EB);color:#fff;border-radius:16px;padding:24px;margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-item{display:flex;align-items:center;gap:14px}
.service-icon{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:20px}
.service-text h5{font-size:14px;font-weight:700;font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif}
.service-text p{font-size:11px;opacity:.85;margin-top:2px}

/* ============ Footer ============ */
.footer{background:#1E293B;color:#94A3B8;margin-top:48px;padding:48px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand .logo-text{color:#fff}
.footer-brand p{font-size:12px;line-height:1.8;margin-top:14px;color:#64748B}
.footer-col h5{color:#fff;font-size:13px;font-weight:700;margin-bottom:14px;font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif}
.footer-col a{display:block;font-size:12px;color:#94A3B8;margin-bottom:8px;transition:color .2s}
.footer-col a:hover{color:#60A5FA}
.footer-qr{display:flex;gap:14px}
.qr-box{text-align:center}
.qr-img{width:80px;height:80px;background:#fff;border-radius:8px;margin-bottom:6px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:32px}
.qr-box span{font-size:11px;color:#7A8B80}
.footer-bottom{padding:18px 0;text-align:center;font-size:12px;color:#64748B;line-height:1.8}
.footer-bottom a{color:#94A3B8;margin:0 6px}

/* ============ 浮动按钮 ============ */
.float-bar{position:fixed;right:20px;bottom:80px;display:flex;flex-direction:column;gap:8px;z-index:40}
.float-btn{width:48px;height:48px;background:#fff;border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:10px;color:var(--ink-2);gap:2px;transition:all .2s}
.float-btn:hover{background:var(--primary);color:#fff;transform:scale(1.05)}
.float-btn .ico{font-size:18px}
.float-badge{position:absolute;top:-4px;right:-4px;background:#FF4D4F;color:#fff;font-size:10px;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;padding:0 4px;font-weight:700}
.float-btn{position:relative}

/* ============ 通用:面包屑 ============ */
.bread{background:#fff;border-radius:12px;padding:12px 18px;margin-bottom:18px;box-shadow:var(--shadow-sm);font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}
.bread a{color:var(--muted);transition:color .2s}
.bread a:hover{color:var(--primary)}
.bread .sep{color:var(--line);margin:0 2px}
.bread .current{color:var(--ink);font-weight:500}

/* ============ 通用:分页 ============ */
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin:32px 0;flex-wrap:wrap;padding:0;list-style:none}
.pagination li{list-style:none;display:inline-flex}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--ink-2);font-size:13px;transition:all .2s}
.pagination a:hover{border-color:var(--primary);color:var(--primary)}
.pagination .current,.pagination .active span{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:500}
.pagination .disabled{color:var(--muted);opacity:.5;cursor:not-allowed}

/* ============ 通用:筛选栏 ============ */
.filter-bar{background:#fff;border-radius:12px;padding:6px 18px;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.filter-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line)}
.filter-row:last-child{border-bottom:none}
.filter-row .label{font-size:13px;color:var(--muted);flex-shrink:0;width:70px}
.filter-row .options{display:flex;flex-wrap:wrap;gap:8px}
.filter-row .options a{padding:4px 12px;border-radius:14px;font-size:13px;color:var(--ink-2);transition:all .2s}
.filter-row .options a:hover{color:var(--primary);background:#FFF4ED}
.filter-row .options a.active{background:var(--primary);color:#fff;font-weight:500}

/* ============ 通用:卡片空状态 ============ */
.empty-state{text-align:center;padding:48px 20px;color:var(--muted);font-size:14px}
.empty-state .ico{font-size:48px;margin-bottom:12px;opacity:.5}

/* ============ 商家黄页(PC):列表页双栏 ============ */
.shop-page{display:grid;grid-template-columns:240px 1fr;gap:20px;margin-bottom:30px;align-items:start}

/* 左侧分类导航 */
.shop-sidebar{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:18px 14px;position:sticky;top:88px}
.shop-sidebar-title{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:16px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:0 4px}
.shop-sidebar-title::before{content:"";width:4px;height:16px;background:var(--primary);border-radius:2px}
.shop-cat-item{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:10px;color:var(--ink-2);font-size:14px;transition:all .2s;margin-bottom:2px}
.shop-cat-item:hover{background:#FFF4ED;color:var(--primary)}
.shop-cat-item.active{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-weight:600;box-shadow:0 4px 12px rgba(232,93,4,.25)}
.shop-cat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-cat-count{font-size:11px;background:var(--bg);color:var(--muted);padding:1px 8px;border-radius:10px;flex-shrink:0}
.shop-cat-item.active .shop-cat-count{background:rgba(255,255,255,.25);color:#fff}
.shop-sidebar-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.shop-sidebar-stat{background:var(--bg);border-radius:10px;text-align:center;padding:10px 4px}
.shop-sidebar-stat-num{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:20px;font-weight:900;color:var(--primary)}
.shop-sidebar-stat-label{font-size:11px;color:var(--muted);margin-top:2px}

/* 右侧工具栏:搜索 + 排序 */
.shop-main{min-width:0}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow-sm);margin-bottom:16px;flex-wrap:wrap}
.shop-search{display:flex;align-items:center;background:var(--bg);border:1.5px solid var(--primary);border-radius:20px;padding:3px 4px 3px 14px;overflow:hidden;flex:1;min-width:220px;max-width:340px}
.shop-search input{border:none;background:transparent;outline:none;flex:1;min-width:0;font-size:13px;color:var(--ink)}
.shop-search button{background:var(--primary);color:#fff;border:none;border-radius:16px;padding:5px 16px;font-size:13px;cursor:pointer;font-weight:500;transition:background .2s}
.shop-search button:hover{background:var(--primary-dark)}
.shop-sort{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.shop-sort-label{font-size:13px;color:var(--muted)}
.shop-sort a{padding:4px 12px;border-radius:14px;font-size:13px;color:var(--ink-2);transition:all .2s}
.shop-sort a:hover{color:var(--primary);background:#FFF4ED}
.shop-sort a.active{background:var(--primary);color:#fff;font-weight:500}

/* 商家行卡片(Logo 完整显示 + 高信息密度) */
.shop-row-list{display:flex;flex-direction:column;gap:14px}
.shop-row{display:flex;gap:16px;background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow-sm);border:1px solid transparent;transition:all .25s}
.shop-row:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}
.shop-row-logo{width:88px;height:88px;border-radius:14px;background:#fff;border:1px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.shop-row-logo-img{width:100%;height:100%;object-fit:contain;padding:6px}
.shop-logo-letter{width:100%;height:100%;background:linear-gradient(135deg,#0CA678,#087F5B);color:#fff;font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-weight:900;font-size:34px;display:flex;align-items:center;justify-content:center}
.shop-row-body{flex:1;min-width:0}
.shop-row-title{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.shop-row-title h4{font-size:16px;font-weight:700;color:var(--ink);font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif}
.shop-vip{background:linear-gradient(135deg,#C9A227,#FFD700);color:#fff;font-size:10px;padding:2px 7px;border-radius:4px;font-weight:700;flex-shrink:0}
.shop-cat-tag{background:#E6F7F0;color:#0CA678;font-size:11px;padding:2px 8px;border-radius:4px;flex-shrink:0}
.shop-tag{font-size:11px;padding:2px 8px;border-radius:4px;flex-shrink:0}
.shop-tag-buy{background:#FFF4ED;color:var(--primary)}
.shop-tag-coupon{background:#EDE7FF;color:#5F3DC4}

/* 星级:灰色底星 + 金色填充(宽度=评分占比) */
.shop-row-rating{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.shop-stars{position:relative;display:inline-block;font-size:14px;line-height:1;letter-spacing:2px;color:#E5E7EB}
.shop-stars::before{content:"★★★★★"}
.shop-stars span{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:var(--gold)}
.shop-stars span::before{content:"★★★★★"}
.shop-rating-num{font-size:14px;font-weight:700;color:var(--gold)}
.shop-rating-count{font-size:12px;color:var(--muted)}
.shop-row-info{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:6px}
.shop-row-info-item{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted)}
.shop-row-desc{font-size:13px;color:var(--muted);line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* ============ 商家黄页(PC):详情页 ============ */
.shop-detail-head{display:flex;gap:22px;align-items:flex-start;background:#fff;border-radius:16px;padding:26px;box-shadow:var(--shadow);margin-bottom:18px}
.shop-detail-logo{width:140px;height:140px;border-radius:18px;background:#fff;border:1px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.shop-detail-logo-img{width:100%;height:100%;object-fit:contain;padding:10px}
.shop-detail-info{flex:1;min-width:0}
.shop-detail-title{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.shop-detail-title h1{font-size:24px;font-weight:700;color:var(--ink);font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif}
.shop-detail-rating{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.shop-detail-rating .shop-rating-num{font-size:16px}
.shop-detail-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--ink-2);margin-bottom:10px}
.shop-detail-meta span{display:inline-flex;align-items:center;gap:6px}
.shop-detail-desc{margin-top:4px}
.shop-detail-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0;width:160px}
.shop-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;background:#fff;border:1px solid var(--line);color:var(--ink-2);transition:all .2s;text-align:center}
.shop-action-btn:hover{border-color:var(--primary);color:var(--primary)}
.shop-action-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;font-weight:600;box-shadow:0 4px 12px rgba(232,93,4,.3)}
.shop-action-primary:hover{color:#fff;transform:translateY(-1px)}
.shop-detail-main{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
.shop-detail-panel{margin-bottom:18px}
.shop-detail-panel .panel-head{margin-bottom:12px}

/* 团购券卡片 */
.shop-coupon{border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex}
.shop-coupon-price{background:var(--primary);color:#fff;padding:14px 12px;text-align:center;min-width:88px;display:flex;flex-direction:column;justify-content:center}
.shop-coupon-num{font-size:18px;font-weight:700}
.shop-coupon-origin{font-size:11px;opacity:.85;margin-top:2px}
.shop-coupon-info{flex:1;padding:14px}
.shop-coupon-title{font-size:13px;font-weight:600;line-height:1.5}

/* 评分分布条 */
.shop-rate-dist{margin-bottom:14px;padding:12px 16px;background:var(--bg);border-radius:10px}
.shop-rate-row{display:flex;align-items:center;gap:10px;padding:3px 0;font-size:12px;color:var(--muted)}
.shop-rate-label{width:34px;flex-shrink:0;text-align:right}
.shop-rate-bar{flex:1;height:8px;background:#E5E7EB;border-radius:4px;overflow:hidden}
.shop-rate-bar span{display:block;height:100%;background:linear-gradient(90deg,#FAB005,#E8590C);border-radius:4px}
.shop-rate-count{width:26px;text-align:right;flex-shrink:0}

/* 详情页右侧卡片 */
.shop-detail-side{min-width:0}
.shop-detail-card{margin-bottom:14px}
.shop-map{height:180px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#D8E5D3,#9BB89A);display:flex;align-items:center;justify-content:center}
.shop-map iframe{width:100%;height:100%;border:0}
.shop-map-fallback{text-align:center;color:var(--accent);font-size:13px;padding:0 12px;line-height:1.6}

/* 商家黄页响应式 */
@media (max-width:1080px){
  .shop-page{grid-template-columns:200px 1fr}
  .shop-detail-main{grid-template-columns:1fr}
  .shop-detail-actions{width:auto;flex-direction:row;flex-wrap:wrap}
}
@media (max-width:860px){
  .shop-page{grid-template-columns:1fr}
  .shop-sidebar{position:static;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
  .shop-sidebar-title{width:100%;margin-bottom:4px}
  .shop-cat-item{margin-bottom:0}
  .shop-sidebar-stats{display:none}
  .shop-detail-head{flex-direction:column}
  .shop-detail-hero{flex-direction:column}
  .shop-detail-logo{width:96px;height:96px}
  .shop-detail-logo .shop-logo-letter{font-size:26px}
  .shop-row{gap:12px;padding:12px}
  .shop-row-logo{width:64px;height:64px;border-radius:10px}
  .shop-row-logo .shop-logo-letter{font-size:24px}
  .shop-detail-actions{width:100%}
  .shop-detail-actions .shop-action-btn{flex:1}
}

/* ============ 商家黄页 v2:详情页标签式设计 ============ */
/* 其他主体品牌色变体 */
.shop-logo-other{background:linear-gradient(135deg,#4C6EF5,#1864AB) !important}
.shop-cat-tag-blue{background:#E7F0FF;color:#1864AB !important}

/* 头图区:渐变横幅 + 头像 + 信息 + 行动按钮 */
.shop-detail-head{display:block;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:18px;padding:0}
.shop-detail-banner{height:96px;background:linear-gradient(110deg,var(--primary) 0%,var(--primary-dark) 48%,#86410B 100%);position:relative}
.shop-detail-banner::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='rgba(255,255,255,.10)'%3E%3Ccircle cx='6' cy='6' r='2'/%3E%3Ccircle cx='18' cy='12' r='1.6'/%3E%3Ccircle cx='10' cy='18' r='1.3'/%3E%3C/g%3E%3C/svg%3E") repeat}
.shop-detail-hero{display:flex;gap:22px;align-items:flex-start;padding:0 26px 22px;margin-top:-46px}
.shop-detail-logo{width:132px;height:132px;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.14);border:4px solid #fff;position:relative;flex-shrink:0}
.shop-detail-logo-img{width:100%;height:100%;object-fit:contain;padding:10px;background:#fff}
.shop-detail-title h1{font-size:26px}
.shop-detail-sub{font-size:13px;color:var(--muted);margin-bottom:8px}
.shop-detail-oneline{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2)}
.shop-chip-link{color:var(--primary);font-weight:600;text-decoration:none}
.shop-action-disabled{opacity:.55;cursor:not-allowed;border-style:dashed}

/* 标签页卡片 */
.shop-detail-tabcard{background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.shop-dtabs{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.shop-dtabs::-webkit-scrollbar{display:none}
.shop-dtab{appearance:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:15px 16px;font-size:14.5px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.shop-dtab:hover{color:var(--primary)}
.shop-dtab.active{color:var(--primary);font-weight:700;border-bottom-color:var(--primary)}
.shop-dtab-count{font-size:11px;background:var(--bg);color:var(--muted);padding:1px 8px;border-radius:10px}
.shop-dtab.active .shop-dtab-count{background:#FFF4ED;color:var(--primary)}
.shop-dpane{display:none;padding:20px 24px 26px}
.shop-dpane.shop-dpane-active{display:block}
.shop-detail-desc{font-size:14px;line-height:1.85;color:var(--ink-2)}

/* 信息网格(联系方式/主体信息):唯一信息源 */
.shop-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.shop-info-grid-lg{padding:4px 0}
.shop-info-item{background:var(--bg);border-radius:12px;padding:14px 16px;font-size:13.5px;color:var(--ink-2);line-height:1.7;transition:box-shadow .2s}
.shop-info-item:hover{box-shadow:0 4px 12px rgba(15,23,42,.06)}
.shop-info-item b{color:var(--ink);font-size:14.5px}
.shop-info-label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:4px;letter-spacing:.4px}
.shop-info-full{grid-column:1 / -1}

/* 右侧栏 */
.shop-side-title{font-size:15px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.shop-side-title::before{content:"";width:4px;height:16px;background:var(--primary);border-radius:2px}
.shop-side-more{display:block;text-align:center;margin-top:10px;color:var(--primary);font-size:13px}
.shop-side-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);align-items:center;text-decoration:none}
.shop-side-item:last-child{border-bottom:none}
.shop-side-logo{width:52px;height:52px;border-radius:10px}
.shop-side-item-body{flex:1;min-width:0}
.shop-side-item-name{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-side-item:hover .shop-side-item-name{color:var(--primary)}
.shop-side-item-meta{font-size:11px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 小屏兼容 */
@media (max-width:1080px){
  .shop-detail-main{grid-template-columns:1fr}
}
@media (max-width:860px){
  .shop-info-grid{grid-template-columns:1fr 1fr}
  .shop-detail-banner{height:72px}
  .shop-detail-hero{gap:14px;flex-direction:column;padding:0 16px 18px;margin-top:-40px}
  .shop-detail-logo{width:96px;height:96px}
  .shop-detail-logo .shop-logo-letter{font-size:26px}
  .shop-detail-actions{width:100%}
  .shop-detail-actions .shop-action-btn{flex:1}
  .shop-dpane{padding:16px 14px 20px}
}

/* ============ 404 页面 ============ */
.not-found{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px}
.not-found .code{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:120px;font-weight:900;color:var(--primary);line-height:1;text-shadow:0 6px 20px rgba(232,93,4,.2)}
.not-found h2{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:24px;font-weight:700;color:var(--ink);margin:16px 0 8px}
.not-found p{font-size:14px;color:var(--muted);margin-bottom:24px}
.not-found .btn-back{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:12px 28px;border-radius:24px;font-weight:700;font-size:14px;box-shadow:0 4px 14px rgba(232,93,4,.35);transition:transform .2s}
.not-found .btn-back:hover{transform:translateY(-1px)}

/* ============ 响应式 - 平板 ============ */
@media (max-width:1080px){
  .header-top .container{gap:16px}
  .nav-links a{padding:6px 10px;font-size:14px}
  .search-wrap{width:380px}
  .btn-publish{padding:9px 18px;font-size:13px}
}

/* ============ 响应式 - 移动端 ============ */
@media (max-width:860px){
  .header-top .container{height:auto;min-height:60px;gap:12px;flex-wrap:wrap;padding:10px 0}
  .logo-text{font-size:18px}
  .logo-text small{font-size:9px;letter-spacing:1px}
  .logo-mark{width:38px;height:38px;font-size:18px}
  .search-dropdown{display:none!important}
  .search-wrap{width:0;flex:1;min-width:0;order:3}
  .btn-publish{padding:8px 14px;font-size:13px}
  .nav-toggle{display:flex}
  .header-nav .container{position:relative}
  .nav-links{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;
    background:var(--primary);
    border-top:1px solid rgba(255,255,255,.2);
    z-index:10;
    box-shadow:0 4px 12px rgba(0,0,0,.15);
  }
  .nav-links.is-open{display:flex}
  .nav-links a,.nav-item>a{
    padding:12px 20px;
    font-size:15px;
    border-radius:0;
    border-bottom:1px solid rgba(255,255,255,.1);
    text-align:left;
    width:100%;
  }
  .nav-links a:last-child,.nav-item:last-child>a{border-bottom:none}
  .nav-links a:hover,.nav-item>a:hover{background:rgba(255,255,255,.15)}
  .nav-links a.active,.nav-item.is-active>a{background:rgba(255,255,255,.18)}
  .nav-links a .hot{position:static;display:inline-block;margin-left:6px;vertical-align:middle}
  .nav-dropdown{display:none!important}
  .nav-right{display:none}
  /* 隐藏轮播和快捷入口在超小屏 */
  .hero-grid{grid-template-columns:1fr}
  .banner{height:200px}
  .quick-nav{height:auto}
}

/* ============ 响应式 - 超小屏 ============ */
@media (max-width:480px){
  .container{padding:0 12px}
  .btn-publish{padding:7px 12px;font-size:12px}
  .search-select{display:none}
}

/* ============ 减少动画偏好 ============ */
@media (prefers-reduced-motion:reduce){
  .nav,.nav a,.nav-toggle-bar,.nav a.active::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ============================================================
 * 微博风格三栏布局 + 左右固定侧边栏 + 互动增强
 * ============================================================ */

/* ============ 三栏布局容器 ============ */
.page-layout{display:grid;grid-template-columns:220px 1fr 300px;gap:20px;align-items:start;margin-bottom:30px}
.page-layout.no-right{grid-template-columns:220px 1fr}
.page-layout.no-left{grid-template-columns:1fr 300px}
.page-layout.no-both{grid-template-columns:1fr}

/* ============ 左侧固定导航栏 ============ */
.s-left{position:sticky;top:80px;align-self:start}
.s-left-card{background:#fff;border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:14px;overflow:hidden}
.s-left-publish{display:block;text-align:center;padding:14px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:14px;font-weight:700;border-radius:12px;transition:transform .2s,box-shadow .2s;margin-bottom:0}
.s-left-publish:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(232,93,4,.3);color:#fff}
.s-left-user{display:flex;flex-direction:column;align-items:center;padding:18px 14px 14px;text-decoration:none}
.s-left-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;overflow:hidden;margin-bottom:8px;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.s-left-avatar img{width:100%;height:100%;object-fit:cover}
.s-left-nick{font-size:14px;font-weight:600;color:var(--ink);text-align:center}
.s-left-nav{padding:8px 0}
.s-left-link{display:block;padding:11px 18px;font-size:13px;color:var(--ink-2);border-left:3px solid transparent;transition:all .2s;text-decoration:none}
.s-left-link:hover{background:var(--bg);color:var(--primary)}
.s-left-link.active{background:#FFF4ED;color:var(--primary);font-weight:600;border-left-color:var(--primary)}

/* ============ 右侧固定栏 ============ */
.s-right{position:sticky;top:80px;align-self:start}
.s-right-card{background:#fff;border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:14px;padding:16px;overflow:hidden}
.s-right-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.s-right-title::before{content:"";width:3px;height:14px;border-radius:2px;background:var(--primary)}

/* 热搜榜 */
.s-hot-list{display:flex;flex-direction:column}
.s-hot-item{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed #f2f3f5;text-decoration:none;transition:background .15s}
.s-hot-item:last-child{border-bottom:none}
.s-hot-item:hover{background:var(--bg);border-radius:6px;padding-left:6px}
.s-hot-rank{width:18px;height:18px;border-radius:5px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--line);color:var(--muted)}
.s-hot-rank.rank-1{background:var(--primary);color:#fff}
.s-hot-rank.rank-2{background:#F77F00;color:#fff}
.s-hot-rank.rank-3{background:var(--gold);color:#fff}
.s-hot-text{flex:1;min-width:0;font-size:13px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s-hot-item:hover .s-hot-text{color:var(--primary)}
.s-hot-tag{font-size:10px;padding:1px 5px;border-radius:3px;font-weight:700;flex-shrink:0;line-height:1.4}
.tag-hot{background:#fff0f0;color:#ff4d4f}
.tag-boil{background:#fff7e6;color:#fa8c16}
.tag-warm{background:#fff0f0;color:#E85D04}
.tag-new{background:#f0f5ff;color:#1890ff}

/* 推荐关注 */
.s-recommend-list{display:flex;flex-direction:column}
.s-rec-user{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed #f2f3f5}
.s-rec-user:last-child{border-bottom:none}
.s-rec-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#7048E8,#5F3DC4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;overflow:hidden;text-decoration:none}
.s-rec-avatar img{width:100%;height:100%;object-fit:cover}
.s-rec-info{flex:1;min-width:0}
.s-rec-name{font-size:13px;font-weight:600;color:var(--ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
.s-rec-name:hover{color:var(--primary)}
.s-rec-bio{font-size:11px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s-rec-follow{flex-shrink:0;background:var(--bg);color:var(--primary);border:1px solid var(--primary);padding:3px 12px;border-radius:999px;font-size:12px;cursor:pointer;transition:all .2s;font-family:inherit}
.s-rec-follow:hover{background:var(--primary);color:#fff}
.s-rec-follow.followed{background:#f2f4f7;border-color:var(--line);color:var(--muted);cursor:default}

/* 话题列表 */
.s-topic-list{display:flex;flex-direction:column}
.s-topic-item{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed #f2f3f5;text-decoration:none;transition:background .15s}
.s-topic-item:last-child{border-bottom:none}
.s-topic-item:hover{background:var(--bg);border-radius:6px;padding-left:4px}
.s-topic-rank{width:18px;height:18px;border-radius:5px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.s-topic-name{flex:1;min-width:0;font-size:13px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s-topic-item:hover .s-topic-name{color:var(--primary)}
.s-topic-count{font-size:11px;color:var(--muted);flex-shrink:0;font-weight:600}

.s-right-footer{font-size:11px;color:var(--muted);text-align:center;line-height:2}
.s-right-footer a{color:var(--muted);transition:color .2s}
.s-right-footer a:hover{color:var(--primary)}
.s-right-footer p{margin-top:6px}

/* ============ 帖子卡片 - 关注按钮 ============ */
.cp-follow-btn{flex-shrink:0;background:var(--primary);color:#fff;border:none;padding:4px 14px;border-radius:999px;font-size:12px;cursor:pointer;transition:all .2s;font-family:inherit;font-weight:500}
.cp-follow-btn:hover{opacity:.85}
.cp-follow-btn.followed{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.cp-follow-btn.followed:hover{color:#ff4d4f;border-color:#ff4d4f}

/* ============ 文字折叠/展开 ============ */
.text-collapse{position:relative;max-height:5.1em;line-height:1.7;overflow:hidden;transition:max-height .3s ease}
.text-collapse.collapsed::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2em;background:linear-gradient(transparent,#fff)}
.text-expand-btn{color:var(--primary);font-size:13px;cursor:pointer;border:none;background:none;padding:4px 0;font-family:inherit;font-weight:500}
.text-expand-btn:hover{text-decoration:underline}

/* ============ 图片灯箱(Lightbox) ============ */
.lightbox-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;flex-direction:column}
.lightbox-overlay.show{display:flex}
.lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:4px;cursor:pointer}
.lightbox-close{position:absolute;top:16px;right:20px;color:#fff;font-size:32px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.1);transition:background .2s}
.lightbox-close:hover{background:rgba(255,255,255,.25)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:36px;cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.1);transition:background .2s}
.lightbox-nav:hover{background:rgba(255,255,255,.25)}
.lightbox-prev{left:16px}
.lightbox-next{right:16px}
.lightbox-caption{color:#ccc;font-size:13px;margin-top:12px;text-align:center}
.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#999;font-size:13px}

/* ============ 收藏按钮(列表页) ============ */
.cp-action.collected{color:var(--gold)}

/* ============ 转发弹窗 ============ */
.modal-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center}
.modal-overlay.show{display:flex}
.modal-box{background:#fff;border-radius:12px;padding:24px;width:min(480px,90vw);max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-title{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}
.modal-close{cursor:pointer;color:var(--muted);font-size:22px;line-height:1;transition:color .2s}
.modal-close:hover{color:var(--ink)}
.modal-body{margin-bottom:16px}
.modal-textarea{width:100%;min-height:80px;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s}
.modal-textarea:focus{border-color:var(--primary)}
.modal-footer{display:flex;justify-content:flex-end;gap:10px}
.modal-btn{padding:8px 22px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;border:none;transition:all .2s}
.modal-btn-primary{background:var(--primary);color:#fff}
.modal-btn-primary:hover{opacity:.9}
.modal-btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.modal-btn-ghost:hover{border-color:var(--primary);color:var(--primary)}

/* ============ 评论区增强 ============ */
.comment-sort-bar{display:flex;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #f2f2f2}
.comment-sort-btn{font-size:13px;color:var(--muted);cursor:pointer;border:none;background:none;padding:4px 0;font-family:inherit;border-bottom:2px solid transparent;transition:all .2s}
.comment-sort-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}
.comment-collapse-btn{font-size:12px;color:var(--primary);cursor:pointer;border:none;background:none;padding:4px 0;font-family:inherit;margin-top:6px}
.comment-collapse-btn:hover{text-decoration:underline}

/* ============ 无限滚动加载 ============ */
.scroll-loading{text-align:center;padding:20px;color:var(--muted);font-size:13px}
.scroll-loading .spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;margin-right:8px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
.scroll-no-more{color:var(--muted);font-size:13px;padding:16px 0}

/* ============ @ 提及自动识别 ============ */
.at-link{color:var(--primary);font-weight:500}
.topic-link{color:var(--primary);font-weight:500}

/* ============ 消息中心增强 ============ */
.msg-badge{position:absolute;top:-4px;right:-4px;background:#ff4d4f;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;font-weight:700}
.chat-panel{display:grid;grid-template-columns:280px 1fr;height:calc(100vh - 180px);background:#fff;border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}
.chat-list{border-right:1px solid var(--line);overflow-y:auto}
.chat-list-item{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f8f8f8}
.chat-list-item:hover{background:var(--bg)}
.chat-list-item.active{background:#FFF4ED}
.chat-list-avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#7048E8,#5F3DC4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;overflow:hidden;position:relative}
.chat-list-avatar img{width:100%;height:100%;object-fit:cover}
.chat-list-info{flex:1;min-width:0}
.chat-list-name{font-size:14px;font-weight:600;color:var(--ink)}
.chat-list-preview{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}
.chat-list-time{font-size:11px;color:var(--muted);flex-shrink:0}
.chat-list-dot{width:8px;height:8px;border-radius:50%;background:#ff4d4f;flex-shrink:0}
.chat-window{display:flex;flex-direction:column}
.chat-window-header{padding:16px 20px;border-bottom:1px solid var(--line);font-size:15px;font-weight:600;color:var(--ink)}
.chat-window-body{flex:1;overflow-y:auto;padding:20px}
.chat-msg{display:flex;gap:8px;margin-bottom:16px}
.chat-msg.mine{flex-direction:row-reverse}
.chat-msg-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#7048E8,#5F3DC4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;overflow:hidden}
.chat-msg-avatar img{width:100%;height:100%;object-fit:cover}
.chat-msg-bubble{max-width:60%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.6;word-break:break-word}
.chat-msg.other .chat-msg-bubble{background:var(--bg);color:var(--ink);border-bottom-left-radius:4px}
.chat-msg.mine .chat-msg-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}
.chat-msg-time{font-size:11px;color:#bbb;margin-top:4px}
.chat-msg.mine .chat-msg-time{text-align:right}
.chat-window-input{padding:16px 20px;border-top:1px solid var(--line);display:flex;gap:10px}
.chat-window-input textarea{flex:1;min-height:40px;max-height:100px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;resize:none;outline:none;transition:border-color .2s}
.chat-window-input textarea:focus{border-color:var(--primary)}
.chat-window-input button{background:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;cursor:pointer;font-family:inherit;transition:opacity .2s;flex-shrink:0}
.chat-window-input button:hover{opacity:.9}

/* ============ 个人主页内容标签 ============ */
.profile-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}
.profile-tab{padding:10px 18px;font-size:14px;color:var(--muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;font-family:inherit;transition:all .2s}
.profile-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}

/* ============ 发布增强 ============ */
.draft-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.8);color:#fff;padding:10px 24px;border-radius:8px;font-size:13px;z-index:9999;transition:opacity .3s}
.at-picker{position:absolute;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.15);max-height:200px;overflow-y:auto;width:200px;z-index:100;display:none}
.at-picker.show{display:block}
.at-picker-item{padding:8px 12px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:8px;transition:background .1s}
.at-picker-item:hover{background:var(--bg)}
.at-picker-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#7048E8,#5F3DC4);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;overflow:hidden;flex-shrink:0}
.at-picker-avatar img{width:100%;height:100%;object-fit:cover}

/* ============ 权限选择 ============ */
.permission-select{display:flex;gap:8px;flex-wrap:wrap}
.permission-option{padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:12px;cursor:pointer;transition:all .2s;color:var(--ink-2)}
.permission-option.active{border-color:var(--primary);color:var(--primary);background:#FFF4ED;font-weight:500}
.permission-option:hover{border-color:var(--primary)}

/* ============ 三栏布局响应式 ============ */
@media (max-width:1100px){
  .page-layout{grid-template-columns:1fr 260px}
  .page-layout .s-left{display:none}
  .page-layout.no-right{grid-template-columns:1fr}
}
@media (max-width:860px){
  .page-layout{grid-template-columns:1fr}
  .page-layout .s-left{display:none}
  .page-layout .s-right{display:none}
  .chat-panel{grid-template-columns:1fr;height:auto}
  .chat-list{border-right:none;border-bottom:1px solid var(--line);max-height:240px}
}
@media (max-width:768px){
  .hero-grid{grid-template-columns:1fr}
  .circle-layout{grid-template-columns:1fr!important}
  .circle-layout aside{display:none}
}
