/***
 * qingning — wwcms 前台主题（青柠绿企业站风格）
 * 设计：蓝青渐变 / 卡片栅格 / 响应式 / 无外部框架
 * 交互（main.js）：首页轮播、移动端导航、下拉、回到顶部、滚动揭示
 * 约定：模板全部走 {ww:*} 标签与 {$site}/{$navs} 变量，栏目名与内容均来自数据库。
 */

:root{
  --c-brand:      #3AA655;   /* 主蓝 */
  --c-brand-top:  #57C16F;
  --c-brand-dark: #2E8A47;
  --c-brand-deep: #1F6632;
  --c-cyan:       #7BC96F;   /* 青点缀 */
  --c-cyan-dark:  #5CB866;
  --c-soft:       #EAF4FB;   /* 浅蓝底 */
  --c-pale:       #C9E2F2;
  --c-50:         #F7FBFE;
  --c-text:       #2b3a47;
  --c-sub:        #6b7c8a;
  --c-line:       #e3edf4;
  --c-bg:         #ffffff;
  --radius: 10px;
  --shadow: 0 6px 22px rgba(14,111,184,.10);
  --shadow-h: 0 12px 30px rgba(14,111,184,.18);
  --maxw: 1200px;
  --nav-h: 58px;
}

*{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; }
body{
  margin:0; background:var(--c-50); color:var(--c-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:14px; line-height:1.7;
}
img{ max-width:100%; display:block; }
a{ color:var(--c-brand-dark); text-decoration:none; transition:color .2s; }
a:hover{ color:var(--c-cyan-dark); }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-weight:700; color:var(--c-brand-deep); }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 16px; }
.center{ margin:0 auto; }
.clear::after{ content:""; display:block; clear:both; }
.mt1{ margin-top:16px; }
.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; }

/* ---------- 顶部细条 ---------- */
.topbar{ background:var(--c-brand-deep); color:#f2fbff; font-size:12.5px; }
.topbar .wrap{ display:flex; justify-content:space-between; align-items:center; height:38px; }
.topbar a{ color:#e6f6ff; }
.topbar a:hover{ color:#fff; text-decoration:underline; }
.topbar .tb-links{ display:flex; align-items:center; gap:14px; }
.topbar .tb-links a{ margin:0; }
.topbar .tb-links span{ opacity:.45; }

/* ---------- Logo 区（左品牌 + 右联系方式，填充空白） ---------- */
.header{ background:#fff; border-bottom:1px solid var(--c-line); }
.header .wrap{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.logo a{ display:flex; align-items:center; gap:10px; }
.logo img{ height:46px; width:auto; }
.logo .sitename{ font-size:22px; font-weight:800; color:var(--c-brand-deep); letter-spacing:.5px; }
.header .contact{ display:flex; align-items:center; gap:30px; }
.header .c-item{ display:flex; align-items:center; gap:10px; }
.header .c-ic{ width:36px; height:36px; border-radius:50%; background:var(--c-soft); color:var(--c-brand-dark); display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; }
.header .c-tx{ display:flex; flex-direction:column; line-height:1.3; }
.header .c-tx span{ font-size:11px; color:var(--c-sub); }
.header .c-tx b{ font-size:16px; color:var(--c-brand-dark); font-weight:700; letter-spacing:.3px; }
@media (max-width:768px){ .header .contact{ display:none; } }

/* ---------- 导航（flex + 下拉，含 JS 移动端） ---------- */
.nav{ background:linear-gradient(var(--c-brand-top),var(--c-brand)); position:sticky; top:0; z-index:50; box-shadow:0 2px 10px rgba(8,65,110,.18); /* 导航条通栏不缩短 */ }
.nav .wrap{ display:flex; align-items:center; height:var(--nav-h); }
.nav .menu{ display:flex; flex:1 1 auto; height:100%; }
.nav .menu > li{ position:relative; }
.nav .menu > li > a{
  display:flex; align-items:center; height:var(--nav-h); padding:0 20px;
  color:#fff; font-size:15px; font-weight:600; position:relative;
}
.nav .menu > li > a::after{
  content:""; position:absolute; left:20px; right:20px; bottom:0; height:3px;
  background:var(--c-cyan); transform:scaleX(0); transform-origin:center; transition:transform .25s;
}
.nav .menu > li:hover > a::after,
.nav .menu > li.active > a::after{ transform:scaleX(1); }
.nav .menu > li:hover > a{ background:rgba(255,255,255,.08); }
.nav .menu > li > a span{ position:relative; }
.nav .subnav{
  position:absolute; top:var(--nav-h); left:0; min-width:170px;
  background:var(--c-brand-deep); box-shadow:var(--shadow-h); padding:6px 0;
  opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s;
}
.nav .menu > li:hover .subnav{ opacity:1; visibility:visible; transform:none; }
.nav .subnav li a{ display:block; padding:9px 20px; color:#dcecf8; font-size:14px; }
.nav .subnav li a:hover{ background:var(--c-cyan-dark); color:#fff; }
.nav .search{ flex:0 0 auto; display:flex; align-items:center; }
.nav .search input{
  height:34px; border:0; border-radius:18px 0 0 18px; padding:0 16px; width:150px;
  outline:none; font-size:13px; color:var(--c-text);
}
.nav .search button{
  height:34px; border:0; border-radius:0 18px 18px 0; padding:0 16px; cursor:pointer;
  background:var(--c-cyan); color:#fff; font-size:13px;
}
.nav .search button:hover{ background:var(--c-cyan-dark); }
.nav .toggle{ display:none; background:none; border:0; color:#fff; font-size:24px; cursor:pointer; padding:0 12px; }

/* ---------- 首页轮播（JS） ---------- */
.slider{ position:relative; height:420px; overflow:hidden; background:var(--c-brand-deep); }
.slider .slides{ height:100%; }
.slider .slide{ position:absolute; inset:0; opacity:0; transition:opacity .6s; }
.slider .slide.active{ opacity:1; }
.slider .slide img{ width:100%; height:100%; object-fit:cover; }
.slider .slide .cap{
  position:absolute; left:0; right:0; bottom:0; padding:60px 0 40px;
  background:linear-gradient(transparent,rgba(8,65,110,.72));
}
.slider .slide .cap .wrap{ color:#fff; }
.slider .slide .cap h2{ color:#fff; font-size:32px; margin-bottom:8px; }
.slider .slide .cap p{ margin:0; font-size:16px; color:#e3f1fb; }
.slider .nav-btn{
  position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px;
  border:0; border-radius:50%; background:rgba(255,255,255,.25); color:#fff;
  font-size:22px; cursor:pointer; transition:.2s; z-index:3;
}
.slider .nav-btn:hover{ background:rgba(255,255,255,.5); }
.slider .prev{ left:18px; } .slider .next{ right:18px; }
.slider .dots{ position:absolute; bottom:16px; left:0; right:0; text-align:center; z-index:3; }
.slider .dots button{
  width:11px; height:11px; border:0; border-radius:50%; margin:0 5px; cursor:pointer;
  background:rgba(255,255,255,.5); padding:0; transition:.2s;
}
.slider .dots button.active{ background:var(--c-cyan); width:26px; border-radius:6px; }

/* ---------- 通用区块 ---------- */
.section{ padding:46px 0; }
.section.alt{ background:#fff; }
.section-hd{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:26px; }
.section-hd .t{ position:relative; padding-left:16px; }
.section-hd .t::before{
  content:""; position:absolute; left:0; top:6px; bottom:6px; width:5px; border-radius:3px;
  background:linear-gradient(var(--c-cyan),var(--c-brand));
}
.section-hd h2{ font-size:26px; }
.section-hd .sub{ color:var(--c-sub); font-size:14px; margin-top:4px; }
.section-hd .more{ color:var(--c-brand); font-weight:600; font-size:14px; }
.section-hd .more:hover{ color:var(--c-cyan-dark); }

/* ---------- 卡片栅格 ---------- */
.grid{ display:grid; gap:22px; }
.grid.c2{ grid-template-columns:repeat(2,1fr); }
.grid.c3{ grid-template-columns:repeat(3,1fr); }
.grid.c4{ grid-template-columns:repeat(4,1fr); }
.card{
  background:#fff; border:1px solid var(--c-line); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow); transition:transform .25s, box-shadow .25s;
}
.card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-h); }
.card .pic{ position:relative; aspect-ratio:4/3; background:var(--c-soft); overflow:hidden; }
.card .pic img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.card:hover .pic img{ transform:scale(1.06); }
.card .pic .tag{
  position:absolute; left:10px; top:10px; background:var(--c-cyan); color:#fff;
  font-size:12px; padding:3px 10px; border-radius:20px;
}
.card .pic .tag:empty{ display:none; }
.card .body{ padding:14px 16px 16px; }
.card .body h3{ font-size:16px; line-height:1.45; }
.card .body .meta{ color:var(--c-sub); font-size:13px; margin-top:6px; }
.card .body .meta .spec{ color:var(--c-brand); font-weight:600; }

/* 案例卡（图文叠加） */
.case-card .pic .cap{
  position:absolute; left:0; right:0; bottom:0; padding:26px 14px 12px;
  background:linear-gradient(transparent,rgba(8,65,110,.8)); color:#fff;
}
.case-card .pic .cap h3{ color:#fff; font-size:17px; }

/* 新闻列表 */
.news-list li{ border-bottom:1px dashed var(--c-line); }
.news-list li a{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:13px 4px; color:var(--c-text);
}
.news-list li a:hover{ color:var(--c-brand); }
.news-list li .tt{ flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.news-list li .dt{ color:var(--c-sub); font-size:13px; flex:0 0 auto; }

/* 解决方案入口（场景卡） */
.sol-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.sol-card{
  background:#fff; border:1px solid var(--c-line); border-radius:var(--radius);
  padding:26px 16px; text-align:center; box-shadow:var(--shadow); transition:.25s;
}
.sol-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-h); border-color:var(--c-cyan); }
.sol-card .ico{ width:54px; height:54px; margin:0 auto 12px; border-radius:50%; background:var(--c-soft); display:flex; align-items:center; justify-content:center; }
.sol-card .ico svg{ width:28px; height:28px; }
.sol-card h3{ font-size:17px; }
.sol-card:hover h3{ color:var(--c-cyan-dark); }

/* 技术优势（首页模块） */
.adv-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.adv-card{ background:#fff; border:1px solid var(--c-line); border-radius:var(--radius); padding:26px 20px; box-shadow:var(--shadow); transition:transform .25s, box-shadow .25s, border-color .25s; }
.adv-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-h); border-color:var(--c-cyan); }
.adv-card .ico{ width:56px; height:56px; border-radius:14px; background:var(--c-soft); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.adv-card .ico svg{ width:30px; height:30px; }
.adv-card h3{ font-size:18px; margin-bottom:8px; }
.adv-card p{ color:var(--c-sub); font-size:14px; line-height:1.7; margin:0; }

/* 关于我们（首页模块） */
.about-wrap{ display:grid; grid-template-columns:1.3fr 1fr; gap:36px; align-items:center; }
.about-text .about-desc{ color:var(--c-sub); font-size:15px; line-height:1.9; margin:0 0 22px; }
.about-media img{ width:100%; border-radius:var(--radius); box-shadow:var(--shadow); }

/* ---------- 内页布局 ---------- */
.layout{ display:grid; grid-template-columns:1fr 300px; gap:30px; align-items:start; }
.main{ min-width:0; }
.pbox{ background:#fff; border:1px solid var(--c-line); border-radius:var(--radius); box-shadow:var(--shadow); padding:26px; }
.pbox h1{ font-size:24px; margin-bottom:14px; }
.entry-meta{ color:var(--c-sub); font-size:13px; margin-bottom:16px; display:flex; flex-wrap:wrap; gap:14px; border-bottom:1px solid var(--c-line); padding-bottom:14px; }
.entry-meta span b{ color:var(--c-brand-dark); font-weight:600; }
.content{ font-size:15px; line-height:1.9; color:#37474f; }
.content img{ max-width:100%; border-radius:8px; margin:14px 0; }
.content p{ margin:0 0 14px; }

/* 栏目头图 */
.page-banner{
  background:linear-gradient(120deg,var(--c-brand),var(--c-brand-deep)); color:#fff; padding:36px 0; max-width:1200px; margin:0 auto; border-radius:8px; /* 居中留白 + 圆角统一 */
}
.page-banner .wrap h2{ color:#fff; font-size:28px; }
.page-banner .wrap p{ margin:8px 0 0; color:#dcecf8; }

/* 面包屑 */
.crumb{ background:var(--c-50); border-bottom:1px solid var(--c-line); font-size:13px; color:var(--c-sub); }
.crumb .wrap{ padding:11px 16px; }
.crumb a{ color:var(--c-sub); }
.crumb .cur{ color:var(--c-brand); }

/* 列表条目（文字型） */
.list-news li{ border-bottom:1px dashed var(--c-line); }
.list-news li a{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 4px; color:var(--c-text); }
.list-news li a:hover{ color:var(--c-brand); }
.list-news li .tt{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.list-news li .dt{ color:var(--c-sub); font-size:13px; flex:0 0 auto; }

/* 筛选面板 */
.filter-panel{ background:var(--c-50); border:1px solid var(--c-line); border-radius:8px; padding:14px 16px; margin-bottom:18px; display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end; }
.filter-item label{ display:block; font-size:12px; color:var(--c-sub); margin-bottom:4px; }
.filter-item select{ height:34px; border:1px solid var(--c-line); border-radius:6px; padding:0 10px; min-width:130px; }
.filter-panel .btn{ height:34px; padding:0 18px; border:0; border-radius:6px; background:var(--c-brand); color:#fff; cursor:pointer; }
.filter-panel .filter-clear{ color:var(--c-sub); margin-left:6px; }

/* 图集 */
.gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:14px 0; }
.gallery img{ border-radius:8px; border:1px solid var(--c-line); aspect-ratio:4/3; object-fit:cover; }

/* 参数表 */
.specs{ background:var(--c-50); border:1px solid var(--c-line); border-radius:8px; padding:6px 18px; margin:16px 0; }
.specs p{ margin:10px 0; border-bottom:1px dashed var(--c-line); padding-bottom:10px; }
.specs p:last-child{ border-bottom:0; }
.specs p b{ display:inline-block; width:80px; color:var(--c-brand-dark); }

/* 上下篇 + 相关 */
.pn{ display:flex; justify-content:space-between; gap:16px; margin-top:22px; flex-wrap:wrap; }
.pn a{ color:var(--c-sub); }
.pn a:hover{ color:var(--c-brand); }
.box{ background:#fff; border:1px solid var(--c-line); border-radius:var(--radius); box-shadow:var(--shadow); padding:20px; margin-top:20px; }
.box h3{ font-size:17px; margin-bottom:12px; padding-left:12px; border-left:4px solid var(--c-cyan); }

/* 评论 */
.comments .c-list{ margin:0; }
.comments .c-item{ padding:12px 0; border-bottom:1px dashed var(--c-line); }
.comments .c-item .nm{ color:var(--c-brand-dark); font-weight:600; }
.comments .c-item .tm{ color:var(--c-sub); font-size:12px; margin-left:8px; }
.comments .c-item .ct{ margin:6px 0 0; }
.c-form .row{ display:flex; gap:10px; margin-bottom:10px; align-items:center; }
.c-form label{ width:60px; color:var(--c-sub); font-size:13px; flex:0 0 auto; }
.c-form input,.c-form textarea{ flex:1; border:1px solid var(--c-line); border-radius:6px; padding:8px 12px; font-size:14px; font-family:inherit; }
.c-form .btn{ background:var(--c-brand); color:#fff; border:0; border-radius:6px; padding:9px 22px; cursor:pointer; }
.c-form .btn:hover{ background:var(--c-brand-deep); }

/* 右栏 */
.aside .box{ box-shadow:var(--shadow); }
.aside .box h3{ font-size:16px; margin-bottom:12px; padding-left:12px; border-left:4px solid var(--c-cyan); }
.aside .box ul li{ border-bottom:1px dashed var(--c-line); }
.aside .box ul li a{ display:block; padding:9px 4px; color:var(--c-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.aside .box ul li a:hover{ color:var(--c-brand); }
.aside .rank{ display:inline-block; width:20px; height:20px; line-height:20px; text-align:center; background:var(--c-soft); color:var(--c-brand-dark); border-radius:4px; font-size:12px; margin-right:8px; }

/* 分页 */
.pagination{ display:flex; gap:6px; justify-content:center; margin:26px 0; flex-wrap:wrap; }
.pagination a,.pagination span{ min-width:36px; height:36px; line-height:36px; text-align:center; border:1px solid var(--c-line); border-radius:6px; color:var(--c-sub); padding:0 8px; }
.pagination a:hover{ border-color:var(--c-brand); color:var(--c-brand); }
.pagination .current{ background:var(--c-brand); color:#fff; border-color:var(--c-brand); }
.pagination .disabled{ opacity:.5; }

/* 按钮 */
.btn{ display:inline-block; background:var(--c-brand); color:#fff; border-radius:24px; padding:10px 26px; font-weight:600; }
.btn:hover{ background:var(--c-brand-deep); color:#fff; }

/* 回到顶部 */
.totop{ position:fixed; right:22px; bottom:22px; width:46px; height:46px; border-radius:50%; background:var(--c-brand); color:#fff; border:0; font-size:20px; cursor:pointer; box-shadow:var(--shadow-h); opacity:0; visibility:hidden; transition:.3s; z-index:60; }
.totop.show{ opacity:1; visibility:visible; }

/* 滚动揭示 */
.reveal{ opacity:1; transform:none; transition:opacity .5s, transform .5s; }
.reveal.in{ opacity:1; transform:none; }

/* 页脚 */
.footer{ background:var(--c-brand-deep); color:#bcd8ec; margin-top:50px; }
.footer .top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:20px; padding:16px 0 12px; }
.footer .f-logo{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.footer .f-logo img{ height:30px; }
.footer .f-logo .nm{ color:#fff; font-size:17px; font-weight:800; }
.footer h4{ color:#fff; font-size:14px; margin-bottom:6px; }
.footer h4 a{ color:#fff; text-decoration:none; }
.footer h4 a:hover{ color:#fff; text-decoration:underline; }
.footer .col a{ display:block; color:#bcd8ec; padding:2px 0; }
.footer .col a:hover{ color:#fff; }
.footer .bottom{ border-top:1px solid rgba(255,255,255,.12); padding:8px 0; font-size:12px; color:#9cc1dd; text-align:center; }
.footer .bottom a{ color:#9cc1dd; margin:0 6px; }
.footer .bottom a:hover{ color:#fff; }

/* 响应式 */
@media (max-width: 1024px){
  .grid.c4{ grid-template-columns:repeat(3,1fr); }
  .sol-grid{ grid-template-columns:repeat(3,1fr); }
  .adv-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 820px){
  .nav .toggle{ display:block; }
  .nav .menu{
    position:absolute; top:var(--nav-h); left:0; right:0; background:var(--c-brand-deep);
    flex-direction:column; height:auto; max-height:0; overflow:hidden; transition:max-height .3s;
  }
  .nav.open .menu{ max-height:80vh; overflow:auto; }
  .nav .menu > li{ width:100%; }
  .nav .menu > li > a{ height:48px; padding:0 18px; }
  .nav .menu > li > a::after{ display:none; }
  .nav .subnav{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; background:rgba(0,0,0,.15); display:none; }
  .nav .menu > li.open .subnav{ display:block; }
  .nav .search{ display:none; }
  .layout{ grid-template-columns:1fr; }
  .slider{ height:300px; }
  .grid.c2,.grid.c3,.grid.c4{ grid-template-columns:repeat(2,1fr); }
  .sol-grid{ grid-template-columns:repeat(2,1fr); }
  .adv-grid{ grid-template-columns:repeat(2,1fr); }
  .about-wrap{ grid-template-columns:1fr; }
  .footer .top{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 540px){
  .grid.c2,.grid.c3,.grid.c4{ grid-template-columns:1fr; }
  .sol-grid{ grid-template-columns:1fr; }
  .adv-grid{ grid-template-columns:1fr; }
  .slider{ height:220px; }
  .slider .slide .cap h2{ font-size:22px; }
  .section-hd h2{ font-size:21px; }
}

/* ================= 内页 / 工具页 / 会员 补充样式 ================= */

/* 内页页头 */
.page-head{ margin-bottom:18px; padding-bottom:14px; border-bottom:2px solid var(--c-line); }
.page-head h1{ font-size:24px; }
.page-head-sub{ color:var(--c-sub); font-size:14px; margin-top:6px; }

/* 文章详情元信息 */
.article .article-meta{ color:var(--c-sub); font-size:13px; margin:6px 0 16px; display:flex; flex-wrap:wrap; gap:14px; border-bottom:1px solid var(--c-line); padding-bottom:14px; }
.article .article-meta b{ color:var(--c-brand-dark); font-weight:600; }

/* 空状态 */
.empty{ color:var(--c-sub); padding:30px 0; text-align:center; }

/* 404 */
.error{ max-width:520px; margin:60px auto; background:#fff; border:1px solid var(--c-line); border-radius:var(--radius); box-shadow:var(--shadow); padding:48px 24px; text-align:center; }
.error h1{ font-size:30px; color:var(--c-brand); margin-bottom:12px; }
.error p{ color:var(--c-sub); margin:6px 0; }
.error a{ color:var(--c-brand); font-weight:600; }

/* 标签云 / 标签落地 */
.tag-cloud{ display:flex; flex-wrap:wrap; gap:10px; }
.tag-cloud a{ display:inline-block; padding:6px 14px; background:var(--c-soft); border:1px solid var(--c-line); border-radius:20px; color:var(--c-brand-dark); font-size:13px; }
.tag-cloud a:hover{ background:var(--c-brand); color:#fff; border-color:var(--c-brand); }
.tag-meta{ display:flex; gap:16px; align-items:center; margin:4px 0 16px; padding:14px; background:var(--c-50); border:1px solid var(--c-line); border-radius:8px; }
.tag-meta img{ width:96px; height:96px; object-fit:cover; border-radius:8px; }
.tag-meta p{ margin:0 0 6px; color:var(--c-sub); }
.tag-meta p:last-child{ margin:0; }

/* 留言 / 会员 表单 */
.m-form{ max-width:560px; }
.m-form p{ margin:0 0 14px; }
.m-form label{ display:block; margin-bottom:6px; color:var(--c-text); font-weight:600; }
.m-form input, .m-form textarea, .m-form select{
  width:100%; border:1px solid var(--c-line); border-radius:8px; padding:9px 12px; font-size:14px; font-family:inherit; background:#fff; color:var(--c-text);
}
.m-form input:focus, .m-form textarea:focus, .m-form select:focus{ outline:none; border-color:var(--c-brand); box-shadow:0 0 0 3px var(--c-soft); }
.m-form .req{ color:#e53935; }
.m-msg-ok{ background:#e8f7ef; border:1px solid #b7e3c8; color:#1f7a43; padding:12px 14px; border-radius:8px; margin-bottom:14px; }
.m-msg-err{ background:#fdecea; border:1px solid #f5b5ad; color:#c62828; padding:12px 14px; border-radius:8px; margin-bottom:14px; }
.msg-list li{ padding:14px 0; border-bottom:1px dashed var(--c-line); }
.msg-list .msg-time{ color:var(--c-sub); font-size:12px; margin-left:10px; }
.msg-list p{ margin:6px 0 0; }
.captcha-row{ display:inline-flex; align-items:center; gap:10px; }
.m-captcha{ height:38px; border-radius:6px; border:1px solid var(--c-line); cursor:pointer; vertical-align:middle; }
.m-captcha + input{ width:120px; }

/* 兜底：CMS 编辑器中裸写的 HTML 表单（page body / {$page.body|raw}）套 qingning 主题样式，
   避免后台富文本里直接写的 <form> 没有任何视觉样式而显得“丑”。 */
.content-page form{ max-width:560px; margin:18px 0; }
.content-page form p{ margin:0 0 14px; }
.content-page form label{ display:block; margin-bottom:6px; font-weight:600; color:var(--c-text); }
.content-page form input,
.content-page form textarea,
.content-page form select{
  width:100%; border:1px solid var(--c-line); border-radius:8px; padding:9px 12px; font-size:14px; font-family:inherit; background:#fff; color:var(--c-text);
}
.content-page form input:focus,
.content-page form textarea:focus,
.content-page form select:focus{ outline:none; border-color:var(--c-brand); box-shadow:0 0 0 3px var(--c-soft); }
.content-page form textarea{ min-height:120px; resize:vertical; }
.content-page form button,
.content-page form input[type=submit]{
  display:inline-block; background:var(--c-brand); color:#fff; border:0; border-radius:24px; padding:10px 26px; font-weight:600; cursor:pointer;
}
.content-page form button:hover,
.content-page form input[type=submit]:hover{ background:var(--c-brand-deep); }

/* 分类导航（sortnav） */
.sort-nav{ margin-bottom:18px; }
.sn-row{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:10px; }
.sn-label{ color:var(--c-sub); font-size:13px; }
.sn-item{ padding:6px 16px; background:#fff; border:1px solid var(--c-line); border-radius:20px; color:var(--c-text); font-size:14px; }
.sn-item:hover{ border-color:var(--c-brand); color:var(--c-brand); }
.sn-item.active{ background:var(--c-brand); color:#fff; border-color:var(--c-brand); }
.sn-row-sub .sn-item{ background:var(--c-50); }

/* 封面栏目 */
.cover-sub{ margin-top:18px; }
.cover-sub .section-head{ display:flex; align-items:baseline; gap:12px; margin-bottom:12px; }
.cover-sub .section-head .title a{ font-size:18px; color:var(--c-brand-deep); }
.cover-sub .section-head .title a:hover{ color:var(--c-cyan-dark); }

/* 职位 / 详情 callout */
.callout{ margin-top:24px; padding:20px; background:var(--c-soft); border-left:4px solid var(--c-cyan); border-radius:8px; }
.callout p{ margin:0 0 12px; color:var(--c-text); }
.callout .btn{ margin-right:10px; }

/* 表格（会员中心 / 投稿 / 收藏 / 积分） */
.m-table{ width:100%; border-collapse:collapse; background:#fff; }
.m-table th, .m-table td{ border:1px solid var(--c-line); padding:10px 12px; text-align:left; font-size:14px; }
.m-table th{ background:var(--c-50); color:var(--c-brand-dark); font-weight:600; }
.m-table.profile tr td:first-child{ background:var(--c-50); color:var(--c-sub); width:120px; }

/* 会员侧栏用户行 / 状态 */
.m-userline{ color:var(--c-sub); margin:0 0 10px; font-size:13px; }
.st-on{ color:#1f7a43; font-weight:600; }
.st-wait{ color:#c77700; font-weight:600; }
.st-off{ color:#999; }
.comment-list li{ padding:14px 0; border-bottom:1px dashed var(--c-line); }
.comment-list .comment-item p:first-child{ margin:0 0 6px; font-weight:600; }
.comment-list .comment-item p:last-child{ color:var(--c-sub); font-size:12px; margin:6px 0 0; }
.m-logout{ color:#c62828 !important; }

/* 会员登录/注册居中卡片 */
.auth-wrap{ max-width:480px; margin:8px auto 0; }

/* ========== 首页价值主张 H1 + 信任背书条（P1 体验优化） ========== */
.hero-band{ padding:52px 0; text-align:center; background:linear-gradient(135deg, var(--c-brand), var(--c-brand-dark)); color:#fff; }
.hero-band h1{ font-size:30px; line-height:1.32; margin:0 0 14px; font-weight:700; }
.hero-band p{ max-width:760px; margin:0 auto 22px; opacity:.92; line-height:1.7; }
.hero-band .btn{ display:inline-block; margin:0 6px; padding:11px 26px; border-radius:4px; color:#fff; border:1px solid rgba(255,255,255,.6); transition:.2s; }
.hero-band .btn.primary{ background:#fff; color:var(--c-brand); border-color:#fff; font-weight:600; }
.hero-band .btn:hover{ opacity:.86; }

.trust-bar{ background:var(--c-50); border-bottom:1px solid var(--c-line); }
.trust-bar .wrap{ display:flex; flex-wrap:wrap; gap:10px; justify-content:space-around; padding:22px 0; }
.trust-item{ flex:1; min-width:120px; text-align:center; }
.trust-item b{ display:block; font-size:26px; color:var(--c-brand); line-height:1.2; }
.trust-item span{ font-size:13px; color:var(--c-sub); }

/* 页脚合规/信任增强（F-1~F-4） */
.footer .f-company{ color:#9cc1dd; font-size:13px; margin:0 0 4px; }
.footer .f-slogan{ color:#bcd8ec; font-size:13px; line-height:1.5; margin:0 0 4px; }
.footer .f-tel{ font-size:16px; font-weight:700; color:#fff; margin:4px 0 2px; }
.footer .bottom .compliance{ margin-top:4px; }

/* ============================================================
   精细打磨（qingning · 青柠绿现代精致）
   ============================================================ */
:root{
  --shadow-card:0 4px 16px rgba(31,102,50,.08),0 1px 3px rgba(31,102,50,.05);
  --shadow-card-h:0 18px 44px rgba(31,102,50,.16);
  --radius-lg:16px;
}
/* 卡片统一精致 */
.card,.adv-card,.sol-card,.case-card{
  border-radius:var(--radius-lg);overflow:hidden;border:1px solid #eef4ee;
  box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease,border-color .3s;
  background:#fff;
}
.card:hover,.adv-card:hover,.sol-card:hover,.case-card:hover{
  transform:translateY(-6px);box-shadow:var(--shadow-card-h);border-color:rgba(58,166,85,.35);
}
.card .pic img,.sol-card .pic img,.adv-card .pic img{transition:transform .5s ease}
.card:hover .pic img,.sol-card:hover .pic img,.adv-card:hover .pic img{transform:scale(1.06)}

/* 方案 / 优势卡片文字 */
.sol-card h3,.adv-card h3{font-size:17px;margin-bottom:6px;color:var(--c-brand-deep)}
.sol-card p,.adv-card p{color:var(--c-sub);font-size:13.5px;line-height:1.7}

/* 案例卡 caption */
.card .cap{background:linear-gradient(transparent,rgba(31,102,50,.78))}
.card .cap h3{font-size:15px;letter-spacing:.3px}

/* 新闻列表现代 */
.news-list li{border-radius:12px;transition:all .25s ease;padding:12px 18px;margin-bottom:8px}
.news-list li:hover{background:rgba(58,166,85,.06);transform:translateX(4px)}
.news-list li a{display:flex;justify-content:space-between;align-items:center}
.news-list li .tt{font-size:15px;color:var(--c-text);font-weight:500}
.news-list li:hover .tt{color:var(--c-brand)}
.news-list li .dt{font-size:13px;color:var(--c-sub)}

/* 区块标题 */
.section-hd .t h2{font-size:28px;font-weight:800;color:var(--c-brand-deep);position:relative}
.section-hd .t h2::after{content:"";display:block;width:40px;height:3px;border-radius:3px;background:var(--c-brand);margin-top:10px}
.section-hd .sub{font-size:14px;color:var(--c-sub);margin-top:6px}
.section-hd .more{font-size:14px;color:var(--c-sub);padding:6px 16px;border:1px solid var(--c-line);border-radius:999px;transition:all .25s}
.section-hd .more:hover{color:#fff;background:var(--c-brand);border-color:var(--c-brand)}

/* 关于区块 */
.about-wrap{border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#f2faf4,#e8f6ec);padding:48px;gap:40px}
.about-desc{font-size:16px;line-height:1.95;color:var(--c-text)}
.about-text .btn{background:var(--c-brand);color:#fff;padding:12px 30px;border-radius:999px;font-weight:600;box-shadow:0 10px 26px rgba(58,166,85,.25);transition:all .25s}
.about-text .btn:hover{background:var(--c-brand-dark);transform:translateY(-2px)}

/* 信任条 */
.trust-item{background:#fff;border-radius:14px;box-shadow:var(--shadow-card);padding:18px;text-align:center;transition:transform .25s}
.trust-item:hover{transform:translateY(-4px)}
.trust-item b{font-size:26px;color:var(--c-brand)}

/* 页脚（qingning 通用）精致 */
.site-footer{background:linear-gradient(180deg,var(--c-brand-deep),#164a2a)}

/* 表单输入统一 */
input[type=text],input[type=email],input[type=tel],input[type=password],textarea,select{
  border:1px solid var(--c-line);border-radius:10px;padding:10px 14px;font-size:14px;color:var(--c-text);transition:border-color .2s,box-shadow .2s;background:#fff;
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(58,166,85,.12)}

/* 内页两栏 */
.content-wrap{display:grid;grid-template-columns:1fr 300px;gap:26px;max-width:var(--maxw);margin:30px auto;padding:0 16px}
.pleft{min-width:0}
.pright .card,.pright .tbox{margin-bottom:22px}

/* 回到顶部 */
.totop{width:48px;height:48px;border-radius:14px;background:var(--c-brand);color:#fff;font-size:20px;border:none;cursor:pointer;box-shadow:0 10px 26px rgba(58,166,85,.3);transition:all .25s}
.totop:hover{background:var(--c-brand-dark);transform:translateY(-2px)}

/* ============================================================
   footer 精致优化（qingning）
   ============================================================ */
.footer{background:linear-gradient(180deg,#1d5b33 0%,#123b22 100%);position:relative;overflow:hidden}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--c-brand),#86e0a0)}
.footer .top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding:46px 0 34px}
.footer .f-logo img{height:38px}
.footer .f-logo .nm{font-size:20px;letter-spacing:.5px}
.footer .f-company{color:#c3e3cc;font-size:14px}
.footer .f-slogan{color:#9cc7a9;font-size:13px;line-height:1.8;margin:12px 0}
.footer .f-tel{font-size:20px;font-weight:800;color:#7CE08F;letter-spacing:.5px;margin:8px 0 4px}
.footer .col>p{color:#b7d8c1;font-size:14px;line-height:2}
.footer h4{font-size:15px;font-weight:700;letter-spacing:.5px;position:relative;padding-bottom:10px;margin-bottom:16px}
.footer h4::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;border-radius:2px;background:var(--c-brand)}
.footer h4 a{color:#fff}
.footer .col a{display:block;color:#b7d8c1;padding:4px 0;font-size:14px;transition:all .22s}
.footer .col a:hover{color:#fff;transform:translateX(3px)}
.footer .col img{border-radius:10px;border:1px solid rgba(255,255,255,.15)}
.footer .bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;font-size:13px;color:#8fb89c;text-align:center}
.footer .bottom a{color:#8fb89c;margin:0 8px;transition:color .2s}
.footer .bottom a:hover{color:#fff}
@media (max-width:768px){.footer .top{grid-template-columns:1fr 1fr;gap:24px}}
@media (max-width:480px){.footer .top{grid-template-columns:1fr}}

/* ===== 内页横幅 两栏（qingning） ===== */
.page-banner .wrap.banner-flex{display:flex;justify-content:space-between;align-items:center}
.page-banner .pbi-main h2{margin:0}
.page-banner .pbi-sub{margin:8px 0 0;color:#dcecf8;font-size:13px}
.pbi-contact{text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.pbi-tel-label{font-size:12px;color:rgba(255,255,255,.85);letter-spacing:2px}
.pbi-tel{font-size:24px;font-weight:800;color:#fff;margin-top:2px;letter-spacing:1px}
.pbi-subline{margin-top:4px;font-size:12px;color:rgba(255,255,255,.85)}
/* ===== 右栏 快速联系（qingning） ===== */
.aside .box.contact-box{background:linear-gradient(160deg,var(--c-soft),#fff)}
.aside .box.contact-box h3{color:var(--c-brand-deep)}
.r-contact{font-size:13px;color:var(--c-sub);margin:7px 0;line-height:1.6}
.r-contact .rc-label{display:block;font-size:12px;color:var(--c-sub)}
.r-contact .rc-tel{font-size:22px;color:var(--c-brand);font-weight:800;letter-spacing:1px}
.r-contact-btn{display:block;text-align:center;margin-top:12px;padding:10px;border-radius:999px;background:var(--c-brand);color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.r-contact-btn:hover{background:var(--c-brand-deep);color:#fff}
/* ===== 内容站优化样式 ===== */

/* 首页 Hero */
.home-hero {
    background: linear-gradient(135deg, #3AA655 0%, #2d8a45 100%);
    color: #fff;
    padding: 60px 0;
    text-align: center;
}
.home-hero .hero-title {
    font-size: 42px;
    font-weight: 700;
    margin: 0 0 16px;
    letter-spacing: 2px;
}
.home-hero .hero-subtitle {
    font-size: 18px;
    opacity: 0.9;
    margin: 0 0 32px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.hero-stats {
    display: flex;
    justify-content: center;
    gap: 48px;
}
.stat-item {
    text-align: center;
}
.stat-num {
    display: block;
    font-size: 32px;
    font-weight: 700;
}
.stat-label {
    font-size: 14px;
    opacity: 0.85;
}

/* 首页区块 */
.home-section {
    padding: 40px 0;
}
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 2px solid #3AA655;
}
.section-title {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 0;
}
.section-more {
    color: #3AA655;
    font-size: 14px;
    text-decoration: none;
}
.section-more:hover {
    text-decoration: underline;
}

/* 文章列表布局 */
.post-list-layout {
    display: flex;
    gap: 24px;
}
.post-list-main {
    flex: 1;
    min-width: 0;
}
.post-list-sidebar {
    width: 300px;
    flex-shrink: 0;
}

/* 文章卡片 */
.post-card {
    background: #fff;
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 16px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s;
}
.post-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.post-card-featured {
    border-left: 4px solid #3AA655;
}
.post-card-meta {
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: #999;
    margin-bottom: 12px;
}
.post-cat {
    color: #3AA655;
    font-weight: 600;
}
.post-card-title {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 12px;
    line-height: 1.4;
}
.post-card-title a {
    color: #333;
    text-decoration: none;
}
.post-card-title a:hover {
    color: #3AA655;
}
.post-card-excerpt {
    color: #666;
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.read-more {
    color: #3AA655;
    font-size: 14px;
    text-decoration: none;
    font-weight: 500;
}
.read-more:hover {
    text-decoration: underline;
}

/* 侧边栏卡片 */
.sidebar-card {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.sidebar-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

/* 热门列表 */
.hot-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.hot-list li {
    margin-bottom: 12px;
}
.hot-list li:last-child {
    margin-bottom: 0;
}
.hot-list a {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    line-height: 1.5;
}
.hot-list a:hover {
    color: #3AA655;
}
.hot-rank {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    background: #eee;
    color: #999;
    font-size: 12px;
    border-radius: 3px;
    font-weight: 600;
}
.hot-rank.top {
    background: #3AA655;
    color: #fff;
}
.hot-title {
    flex: 1;
}

/* 栏目网格 */
.cat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.cat-item {
    display: block;
    padding: 8px 12px;
    background: #f5f5f5;
    border-radius: 4px;
    text-align: center;
    font-size: 13px;
    color: #666;
    text-decoration: none;
    transition: all 0.2s;
}
.cat-item:hover {
    background: #3AA655;
    color: #fff;
}

/* ===== 文章详情页 ===== */
.article-hero {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
    color: #fff;
    padding: 48px 0;
}
.article-hero-inner {
    max-width: 720px;
    margin: 0 auto;
}
.article-cat {
    font-size: 14px;
    opacity: 0.8;
    margin-bottom: 16px;
}
.cat-tag {
    background: rgba(58,166,85,0.8);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
}
.cat-divider {
    margin: 0 8px;
}
.article-title-lg {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 20px;
}
.article-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.meta-left {
    display: flex;
    gap: 24px;
    font-size: 14px;
    opacity: 0.85;
}
.meta-item {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 面包屑条 */
.crumb-bar {
    background: #f8f9fa;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
}
.crumb-bar a {
    color: #666;
    text-decoration: none;
    font-size: 13px;
}
.crumb-bar a:hover {
    color: #3AA655;
}
.crumb-sep {
    color: #ccc;
    margin: 0 8px;
}
.crumb-current {
    color: #333;
    font-size: 13px;
}

/* 文章布局 */
.article-layout {
    display: flex;
    gap: 24px;
    padding: 32px 0;
}
.article-main {
    flex: 1;
    min-width: 0;
    max-width: 720px;
}
.article-sidebar {
    width: 300px;
    flex-shrink: 0;
}

/* 文章卡片 */
.article-card {
    background: #fff;
    border-radius: 8px;
    padding: 40px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* 摘要框 */
.article-excerpt-box {
    background: #f8f9fa;
    border-left: 4px solid #3AA655;
    padding: 16px 20px;
    margin-bottom: 32px;
    border-radius: 0 6px 6px 0;
}
.excerpt-label {
    font-size: 12px;
    color: #3AA655;
    font-weight: 600;
    margin-bottom: 8px;
    letter-spacing: 1px;
}
.article-excerpt-box p {
    margin: 0;
    color: #666;
    font-size: 15px;
    line-height: 1.7;
}

/* 正文 */
.article-body {
    font-size: 16px;
    line-height: 1.9;
    color: #333;
}
.article-body h2 {
    font-size: 22px;
    font-weight: 700;
    color: #2c3e50;
    margin: 32px 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #3AA655;
}
.article-body h3 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 24px 0 12px;
}
.article-body p {
    margin: 0 0 16px;
}
.article-body blockquote {
    background: #f8f9fa;
    border-left: 4px solid #3AA655;
    padding: 16px 20px;
    margin: 20px 0;
    border-radius: 0 6px 6px 0;
    color: #555;
}
.article-body blockquote p {
    margin: 0;
}
.article-body ul, .article-body ol {
    padding-left: 24px;
    margin: 16px 0;
}
.article-body li {
    margin-bottom: 8px;
}
.article-body strong {
    color: #2c3e50;
}

/* 文章操作栏 */
.article-actions {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}
.action-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.tag-chip {
    display: inline-block;
    padding: 4px 12px;
    background: #f0f7f2;
    color: #3AA655;
    border-radius: 20px;
    font-size: 13px;
    text-decoration: none;
}
.tag-chip:hover {
    background: #3AA655;
    color: #fff;
}

/* 上下篇导航 */
.article-nav {
    display: flex;
    gap: 16px;
    margin: 24px 0;
}
.nav-item {
    flex: 1;
    background: #fff;
    border-radius: 8px;
    padding: 16px 20px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.nav-item a {
    text-decoration: none;
    color: #333;
    display: block;
}
.nav-item a:hover .nav-title {
    color: #3AA655;
}
.nav-label {
    display: block;
    font-size: 12px;
    color: #999;
    margin-bottom: 6px;
}
.nav-title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.nav-empty {
    color: #ccc;
}
.nav-next {
    text-align: right;
}

/* 相关推荐 */
.related-section {
    margin: 24px 0;
}
.related-section .section-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #3AA655;
}
.related-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.related-card {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    text-decoration: none;
    color: #333;
    transition: box-shadow 0.2s;
}
.related-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.related-card h4 {
    font-size: 14px;
    font-weight: 500;
    margin: 0 0 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.related-date {
    font-size: 12px;
    color: #999;
}

/* 作者卡片 */
.author-card {
    text-align: center;
}
.author-avatar {
    width: 56px;
    height: 56px;
    line-height: 56px;
    background: linear-gradient(135deg, #3AA655, #2d8a45);
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    border-radius: 50%;
    margin: 0 auto 12px;
}
.author-info h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 4px;
}
.author-info p {
    font-size: 13px;
    color: #999;
    margin: 0;
}

/* 侧边栏列表 */
.sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sidebar-list li {
    margin-bottom: 10px;
}
.sidebar-list li:last-child {
    margin-bottom: 0;
}
.sidebar-list a {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    text-decoration: none;
    color: #333;
    font-size: 13px;
    line-height: 1.5;
}
.sidebar-list a:hover {
    color: #3AA655;
}
.list-num {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    background: #eee;
    color: #999;
    font-size: 11px;
    border-radius: 3px;
    font-weight: 600;
}
.list-num.hot {
    background: #e74c3c;
    color: #fff;
}
.list-text {
    flex: 1;
}
.list-date {
    color: #ccc;
    font-size: 12px;
    flex-shrink: 0;
}

/* 响应式 */
@media (max-width: 768px) {
    .home-hero .hero-title { font-size: 28px; }
    .hero-stats { gap: 24px; }
    .post-list-layout { flex-direction: column; }
    .post-list-sidebar { width: 100%; }
    .article-layout { flex-direction: column; }
    .article-sidebar { width: 100%; }
    .article-card { padding: 24px; }
    .article-title-lg { font-size: 24px; }
    .related-grid { grid-template-columns: 1fr; }
    .article-nav { flex-direction: column; }
}
