/* ============================================================
   新闻资讯模块专用样式  page-news.css
   ============================================================ */

/* ---------- 资讯中心 Hero ---------- */
.news-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0e2a4d 0%,#14507f 45%,#0f7a5f 100%);color:#fff;padding:150px 0 110px}
.news-hero .phub-breadcrumb a{color:rgba(255,255,255,.75)}
.news-hero .phub-breadcrumb em{color:#7fe0c0}
.news-hero h1{font-size:clamp(30px,4.4vw,54px);line-height:1.2;margin:18px 0 16px;font-weight:800}
.news-hero h1 em{font-style:normal;color:#5fd7b0}
.news-hero p{max-width:720px;color:rgba(255,255,255,.82);font-size:17px;line-height:1.9}

/* ---------- 精选文章 ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feat-card{position:relative;border-radius:16px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;color:#fff}
.feat-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,55,0) 30%,rgba(10,30,55,.85) 100%)}
.feat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat-card .fc-body{position:relative;z-index:2;padding:26px 24px}
.feat-card .fc-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:1px;background:rgba(46,191,139,.9);padding:4px 12px;border-radius:999px;margin-bottom:12px}
.feat-card h3{font-size:19px;line-height:1.55;margin-bottom:8px}
.feat-card h3 a{color:#fff}
.feat-card h3 a:hover{color:#7fe0c0}
.feat-card .fc-date{font-size:13px;color:rgba(255,255,255,.75)}
.feat-card.large{grid-column:span 2;min-height:340px}

/* ---------- 资讯列表布局 ---------- */
.news-layout{display:grid;grid-template-columns:1fr 330px;gap:40px;align-items:start}
.news-list{display:flex;flex-direction:column;gap:22px}
.news-item{display:flex;gap:22px;background:#fff;border:1px solid #e4eef8;border-radius:14px;padding:18px;transition:.3s}
.news-item:hover{box-shadow:0 16px 36px rgba(22,80,140,.1);transform:translateY(-3px)}
.news-item .ni-img{flex:0 0 260px;height:170px;border-radius:10px;overflow:hidden}
.news-item .ni-img img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}
.news-item:hover .ni-img img{transform:scale(1.05)}
.news-item .ni-body{flex:1;display:flex;flex-direction:column}
.news-item h3{font-size:18px;line-height:1.55;margin-bottom:10px}
.news-item h3 a{color:#152A3F}
.news-item h3 a:hover{color:#1E5FD8}
.news-item p{font-size:14px;color:#5c7086;line-height:1.85;flex:1}
.news-item .ni-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:#8aa0b8;margin-top:12px;border-top:1px dashed #e8eef5;padding-top:12px}
.news-item .ni-meta a{margin-left:auto;color:#1E5FD8;font-weight:600}

/* ---------- 侧边栏 ---------- */
.news-side{display:flex;flex-direction:column;gap:26px;position:sticky;top:110px}
.side-box{background:#fff;border:1px solid #e4eef8;border-radius:14px;padding:24px}
.side-box h4{font-size:16px;margin-bottom:16px;position:relative;padding-left:14px}
.side-box h4::before{content:"";position:absolute;left:0;top:3px;width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,#2F7CF6,#2EBF8B)}
.side-cats{list-style:none;display:flex;flex-direction:column}
.side-cats li a{display:flex;justify-content:space-between;padding:11px 4px;font-size:14.5px;color:#3a5168;border-bottom:1px dashed #eef3f8}
.side-cats li a:hover{color:#1E5FD8;padding-left:10px}
.side-cats li a span{color:#8aa0b8;font-size:13px}
.side-hot li{display:flex;gap:14px;padding:10px 0;border-bottom:1px dashed #eef3f8;align-items:center}
.side-hot li:last-child{border-bottom:none}
.side-hot li b{flex:0 0 30px;height:30px;border-radius:8px;background:#e8f2fe;color:#1E5FD8;display:flex;align-items:center;justify-content:center;font-size:14px}
.side-hot li a{font-size:14px;line-height:1.6;color:#3a5168}
.side-hot li a:hover{color:#1E5FD8}
.side-cta{background:linear-gradient(135deg,#0e2a4d,#0f7a5f);color:#fff;border-radius:14px;padding:28px 24px;text-align:center}
.side-cta h4{font-size:17px;margin-bottom:8px;padding:0}
.side-cta h4::before{display:none}
.side-cta p{font-size:13.5px;color:rgba(255,255,255,.8);line-height:1.7;margin-bottom:18px}
.side-cta a.btn{width:100%}

/* ---------- 文章详情页 ---------- */
.article-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0e2a4d,#0f7a5f);color:#fff;padding:140px 0 60px}
.article-hero .phub-breadcrumb a{color:rgba(255,255,255,.75)}
.article-hero .phub-breadcrumb em{color:#7fe0c0}
.article-hero h1{font-size:clamp(24px,3.4vw,40px);line-height:1.35;margin:16px 0 18px;font-weight:800;max-width:900px}
.article-hero .ar-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:14px;color:rgba(255,255,255,.78)}
.article-hero .ar-meta span{display:inline-flex;align-items:center;gap:6px}

.article-wrap{display:grid;grid-template-columns:1fr 330px;gap:40px;align-items:start;margin-top:-34px;position:relative;z-index:5}
.article-main{background:#fff;border:1px solid #e4eef8;border-radius:18px;padding:40px 42px;box-shadow:0 16px 40px rgba(22,80,140,.08)}
.article-main img.lead-img{width:100%;border-radius:12px;margin-bottom:28px;display:block}
.article-main h2{font-size:22px;margin:30px 0 14px;color:#152A3F}
.article-main p{font-size:15.5px;color:#455a70;line-height:2.05;margin-bottom:14px}
.article-main ul.art-list{list-style:none;margin:10px 0 18px}
.article-main ul.art-list li{font-size:15px;color:#455a70;line-height:2;padding-left:22px;position:relative}
.article-main ul.art-list li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#2F7CF6,#2EBF8B)}
.article-main .art-note{background:#eef7f2;border-left:4px solid #2EBF8B;border-radius:0 10px 10px 0;padding:18px 22px;font-size:14.5px;color:#1f7a5c;line-height:1.9;margin:20px 0}
.article-main .art-quote{border-left:4px solid #2F7CF6;background:#eef4fe;padding:18px 24px;border-radius:0 10px 10px 0;font-size:15px;color:#245a9e;line-height:2;margin:20px 0}
.article-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;padding-top:20px;border-top:1px dashed #e8eef5}
.article-tags span{font-size:13px;background:#eef4fe;color:#1E5FD8;padding:6px 14px;border-radius:999px}

/* ---------- 文章列表区（CMS 标签渲染） ---------- */
.cms-list-wrap{margin-top:36px;padding-top:26px;border-top:2px solid #eef3f8}
.cms-list-wrap h3{font-size:20px;margin-bottom:8px}
.cms-list-wrap h3 em{font-style:normal;color:#1E5FD8}
.cms-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.cms-card{background:#f8fbfe;border:1px solid #e4eef8;border-radius:12px;overflow:hidden;transition:.3s}
.cms-card:hover{box-shadow:0 14px 30px rgba(22,80,140,.1);transform:translateY(-4px)}
.cms-card img{width:100%;height:130px;object-fit:cover;display:block}
.cms-card .cm-body{padding:16px}
.cms-card .cm-body b{display:block;font-size:14.5px;line-height:1.6;color:#33475c;margin-bottom:8px;font-weight:600}
.cms-card .cm-body p{font-size:12.8px;color:#8aa0b8;line-height:1.7}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .feat-card.large{grid-column:span 2}
  .news-layout,.article-wrap{grid-template-columns:1fr}
  .news-side{position:static}
  .news-item .ni-img{flex-basis:200px}
  .cms-list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .feat-grid{grid-template-columns:1fr}
  .news-item{flex-direction:column}
  .news-item .ni-img{flex:auto;height:180px;width:100%}
  .cms-list{grid-template-columns:1fr}
  .article-main{padding:26px 20px}
}

/* ============ 文章正文排版 ============ */
.art-body{font-size:15.5px;line-height:2;color:#5a6d85}
.art-body p{margin-bottom:18px}
.art-body h2{font-size:21px;color:#152A3F;margin:30px 0 14px;padding-left:14px;border-left:4px solid #2F7CF6}
.art-body h3{font-size:18px;color:#152A3F;margin:24px 0 12px}
.art-body img{max-width:100%;border-radius:14px;margin:14px 0}
.art-body ul,.art-body ol{padding-left:24px;margin-bottom:16px}
.art-body li{margin-bottom:8px}
.art-body blockquote{background:#f6fafe;border-left:4px solid #2EBF8B;padding:16px 20px;border-radius:0 12px 12px 0;color:#2a4a6e;margin:18px 0}
.art-body a{color:#2F7CF6;text-decoration:underline}
