/* ============================================================
   新闻中心门户页 news_portal.css
   主流新闻门户两栏布局，总宽 1223（与首页一致）
   ============================================================ */
.news-portal-wrap { width: 1223px; margin: 16px auto 0; }

/* 面包屑 */
.np-crumb { font-size: 13px; color: #888; padding: 6px 2px; }
.np-crumb a { color: #666; }
.np-crumb a:hover { color: #e1251b; }
.np-crumb b { color: #333; font-weight: 600; }
.np-crumb .s { margin: 0 7px; color: #ccc; }

/* 页面头部 */
.np-pagehead { background: linear-gradient(90deg,#fff,#fbf6f6); border: 1px solid #f1e4e4; border-left: 5px solid #e1251b; border-radius: 6px; padding: 16px 22px; margin-bottom: 14px; }
.np-pagehead h2 { margin: 0; font-size: 26px; color: #1a1a1a; letter-spacing: 1px; }
.np-pagehead p { margin: 6px 0 0; color: #999; font-size: 13px; }

/* 分类胶囊 */
.np-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.np-tabs a { padding: 7px 22px; border: 1px solid #e5e5e5; border-radius: 20px; color: #555; font-size: 14px; background: #fff; }
.np-tabs a:hover { border-color: #f0b7b5; color: #e1251b; }
.np-tabs a.cur { background: #e1251b; color: #fff; border-color: #e1251b; }

/* 两栏 */
.np-body { display: flex; align-items: flex-start; }
.np-main { width: 868px; background: #fff; border: 1px solid #ececec; border-radius: 8px; padding: 16px 20px; box-sizing: border-box; }
.np-main-head { display: flex; align-items: center; justify-content: space-between; border-bottom: 2px solid #e1251b; padding-bottom: 10px; margin-bottom: 4px; }
.np-main-head h3 { margin: 0; font-size: 19px; color: #1a1a1a; position: relative; padding-left: 12px; }
.np-main-head h3::before { content: ""; position: absolute; left: 0; top: 50%; margin-top: -9px; width: 4px; height: 18px; background: #e1251b; border-radius: 2px; }
.np-main-head span { font-size: 13px; color: #999; }

/* 新闻列表 */
.np-list { list-style: none; margin: 0; padding: 0; }
.np-item { padding: 16px 0; border-bottom: 1px dashed #eee; }
.np-item:last-child { border-bottom: none; }
.np-item.has-img { display: flex; gap: 18px; }
.np-thumb { flex: 0 0 200px; width: 200px; height: 130px; border-radius: 6px; overflow: hidden; border: 1px solid #f0f0f0; display: block; }
.np-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.np-thumb:hover img { transform: scale(1.06); }
.np-info { flex: 1; min-width: 0; }
.np-info h4 { margin: 0 0 8px; font-size: 17px; line-height: 1.4; }
.np-item:not(.has-img) .np-info h4 { font-size: 16px; }
.np-info h4 a { color: #1a1a1a; }
.np-info h4 a:hover { color: #e1251b; }
.np-summary { margin: 0 0 10px; color: #777; font-size: 13px; line-height: 1.6; }
.np-meta { display: flex; gap: 18px; font-size: 12px; color: #aaa; }

/* 分页 */
.np-pager { margin-top: 18px; text-align: center; }
.np-pager a, .np-pager span { display: inline-block; min-width: 34px; height: 34px; line-height: 34px; padding: 0 10px; margin: 0 4px; border: 1px solid #e5e5e5; border-radius: 4px; color: #555; font-size: 13px; }
.np-pager a:hover { border-color: #e1251b; color: #e1251b; }
.np-pager .page-this { background: #e1251b; color: #fff; border-color: #e1251b; }
.np-pager .page-start, .np-pager .page-end { color: #bbb; background: #f7f7f7; }
.np-pager .page-prev b, .np-pager .page-next b { display: none; }

/* 右侧栏 */
.np-side { width: 330px; margin-left: 25px; }
.np-box { background: #fff; border: 1px solid #ececec; border-radius: 8px; padding: 14px 16px; margin-bottom: 16px; }
.np-box-tit { margin: 0 0 10px; font-size: 16px; color: #1a1a1a; padding: 0 0 9px 12px; position: relative; border-bottom: 1px solid #f0f0f0; }
.np-box-tit::before { content: ""; position: absolute; left: 0; top: 50%; margin-top: -8px; width: 4px; height: 16px; background: #e1251b; border-radius: 2px; }

.np-catlist { list-style: none; margin: 0; padding: 0; }
.np-catlist li a { display: flex; align-items: center; justify-content: space-between; padding: 9px 6px; color: #555; font-size: 14px; border-bottom: 1px dashed #f2f2f2; }
.np-catlist li:last-child a { border-bottom: none; }
.np-catlist li a:hover { color: #e1251b; }
.np-catlist li a em { color: #ccc; font-style: normal; }
.np-catlist li a.cur { color: #e1251b; font-weight: 600; }

.np-hot { list-style: none; margin: 0; padding: 0; }
.np-hot li { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.np-rank-n { flex: 0 0 20px; width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 4px; background: #d0d0d0; color: #fff; font-size: 12px; font-style: normal; }
.np-hot li:nth-child(1) .np-rank-n { background: #e1251b; }
.np-hot li:nth-child(2) .np-rank-n { background: #e85b0c; }
.np-hot li:nth-child(3) .np-rank-n { background: #d98c00; }
.np-hot li a { flex: 1; color: #444; font-size: 13px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.np-hot li a:hover { color: #e1251b; }

/* 客服提示 */
.np-contact { background: linear-gradient(135deg,#e1251b,#c81620); border: none; }
.np-contact .np-box-tit { color: #fff; border-bottom: 1px solid rgba(255,255,255,.25); }
.np-contact .np-box-tit::before { background: #fff; }
.np-contact p { margin: 6px 0; color: #fff; font-size: 13px; line-height: 1.7; }

/* 通用隐藏类：右侧浮动栏(RightNav)的提示气泡 / 数量角标依赖此类，由 JS 加删 */
.hide { display: none !important; }
