/* ============================================================
   前台默认主题样式（覆盖 header/list/detail/index/footer/search/page）
   ============================================================ */
* { box-sizing: border-box; }
body { margin:0; font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;
       color:#333; background:#f5f6f8; line-height:1.7; }
a { color:#2b6cb0; text-decoration:none; }
a:hover { color:#1a4e8a; }
img { max-width:100%; }
h1,h2,h3 { font-weight:600; }
.wrap { width:100%; max-width:1180px; margin:0 auto; padding:0 14px; }

/* ---- 顶栏 ---- */
.header { background:#fff; border-bottom:1px solid #e8e8e8; box-shadow:0 1px 4px rgba(0,0,0,.04); }
.header .wrap { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:14px; }
.logo { font-size:22px; font-weight:700; color:#1f2d3d; margin-right:18px; }
.nav { display:flex; flex-wrap:wrap; gap:6px; flex:1; }
.nav a { padding:6px 12px; border-radius:4px; color:#444; font-size:14px; }
.nav a:hover { background:#eef4fb; color:#2b6cb0; }
.search { display:flex; gap:6px; }
.search input { border:1px solid #dcdcdc; border-radius:4px; padding:7px 10px; font-size:13px; width:170px; }
.search button { border:none; background:#2b6cb0; color:#fff; border-radius:4px;
                 padding:7px 14px; cursor:pointer; font-size:13px; }

/* ---- 横幅 ---- */
.banner { margin-top:16px; }
.slide-item { background:linear-gradient(135deg,#2b6cb0,#1a4e8a); color:#fff; font-size:22px;
              font-weight:600; padding:46px 30px; border-radius:8px; text-align:center; }

/* ---- 内容区块 ---- */
.section { background:#fff; border:1px solid #ececec; border-radius:8px;
           padding:18px 20px; margin:16px 0; }
.section h2 { font-size:18px; margin:0 0 14px; padding-left:10px;
              border-left:4px solid #2b6cb0; line-height:1.3; }
.section .more { float:right; font-size:13px; color:#999; font-weight:400; }

/* ---- 卡片网格 ---- */
.grid { display:grid; gap:14px; }
.grid.c4 { grid-template-columns:repeat(4,1fr); }
.grid.c2 { grid-template-columns:repeat(2,1fr); }
@media (max-width:900px)  { .grid.c4 { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px)  { .grid.c4, .grid.c2 { grid-template-columns:1fr; } }
.card { display:block; background:#fff; border:1px solid #ececec; border-radius:8px;
        overflow:hidden; color:inherit; transition:box-shadow .2s ease, transform .2s ease; }
.card:hover { box-shadow:0 6px 18px rgba(0,0,0,.10); transform:translateY(-2px); }
.card .thumb { width:100%; height:150px; object-fit:cover; display:block; background:#f0f2f5; }
.card .body { padding:10px 12px; }
.card h3 { font-size:14px; margin:0; line-height:1.5;
           display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card .meta { font-size:12px; color:#999; margin-top:6px; }

/* ---- 新闻列表 ---- */
.list-news { list-style:none; margin:0; padding:0; }
.list-news li { display:flex; justify-content:space-between; gap:12px; align-items:center;
                padding:9px 0; border-bottom:1px dashed #eee; font-size:14px; }
.list-news li:last-child { border-bottom:none; }
.list-news li a { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.list-news li span { color:#999; font-size:12px; white-space:nowrap; }

/* ---- 面包屑 / 详情 ---- */
.breadcrumb { font-size:13px; color:#888; margin-bottom:10px; }
.detail-title { font-size:24px; margin:8px 0; line-height:1.4; }
.detail-meta { font-size:13px; color:#999; padding-bottom:12px; border-bottom:1px solid #eee; }
.detail-content { margin-top:16px; font-size:15px; line-height:1.9; word-break:break-word; }
.detail-content img { max-width:100%; height:auto; }

/* ---- 按钮 ---- */
.btn { display:inline-block; background:#2b6cb0; color:#fff !important; border:none;
       border-radius:5px; padding:8px 18px; font-size:14px; cursor:pointer; }

/* ---- 分页 ---- */
.fy-pages { margin-top:16px; display:flex; flex-wrap:wrap; gap:6px; }
.fy-pages a, .fy-pages .cur { display:inline-block; min-width:32px; padding:5px 10px;
    border:1px solid #dcdcdc; border-radius:4px; text-align:center; font-size:13px;
    background:#fff; color:#555; }
.fy-pages .cur { background:#2b6cb0; border-color:#2b6cb0; color:#fff; font-weight:600; }
.fy-pages a:hover { border-color:#2b6cb0; color:#2b6cb0; }

/* ---- 页脚 ---- */
.footer { margin-top:26px; background:#2b3138; color:#c8cdd3;
          padding:22px 14px; text-align:center; font-size:13px; }
.footer a { color:#c8cdd3; margin:0 8px; }
.footer a:hover { color:#fff; }
