/* ========== 基础重置 ========== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,
    "PingFang SC","Microsoft YaHei",sans-serif;
    background:#f5f6f8;
    color:#333;
    line-height:1.8;
}
a{
    text-decoration:none;
    color:inherit;
}
img{
    max-width:100%;
    height:auto;
}
ul{
    list-style:none;
}

/* ========== Header ========== */
.header{
    width:100%;
    position:sticky;
    top:0;
    height:70px;
    z-index:99999;
    display:flex;
    background:rgba(255,255,255,0.95);
    align-items:center;
    border-bottom:1px solid #F6F6F6;
    backdrop-filter:blur(3px);
}
.header .m{
    width:1200px;
    max-width:1200px;
    margin:0 auto;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.header .fl{
    height:100%;
    display:flex;
    align-items:center;
}
.header .logo{
    display:block;
    height:66px;
}
.header .link_list{
    height:100%;
    display:flex;
    align-items:center;
    position:relative;
    margin-left:18px;
}
.header .link_list>li{
    height:100%;
    position:relative;
}
.header .link_list>li .label{
    height:100%;
    display:flex;
    cursor:pointer;
    position:relative;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    margin:0 6px;
}
.header .link_list>li .label span{
    font-size:16px;
    color:#333;
}
.header .link_list>li .label .down{
    width:12px;
    margin-left:4px;
    transition:all .1s;
}
.header .link_list>li .showbox{
    background:#fff;
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    border-top:2px solid #d32f2f;
    box-shadow:0 0 20px rgba(0,0,0,0.1);
    border-radius:0 0 20px 20px;
    visibility:hidden;
    top:120%;
    z-index:99999;
    opacity:0;
    padding:25px 20px 20px;
    transition:all .2s;
}
.header .link_list>li:hover .showbox{
    opacity:1;
    visibility:inherit;
    top:100%;
}
.header .link_list>li:hover .label span{
    color:#d32f2f;
}
.header .link_list>li:hover .label .down{
    transform:rotate(180deg);
}
.header .link_list>li .showbox .item .link{
    height:40px;
    white-space:nowrap;
    border-radius:4px;
    margin-bottom:10px;
}
.header .link_list>li .showbox .item .link:hover{
    background:#F3F3F3;
}
.header .link_list>li .showbox .item .link a{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    padding:0 20px 0 10px;
}
.header .link_list>li .showbox .item .link a span{
    font-size:14px;
    color:#333;
}
.header .link_list>li .showbox .item .link a .icon{
    width:20px;
    margin-right:6px;
}
.header .link_list>li .showbox.on{
    width:525px;
    padding:25px 50px 50px;
}
.header .link_list>li>a{
    display:flex;
    align-items:center;
    height:100%;
    padding:0 12px;
    font-size:16px;
    color:#333;
    transition:color .2s;
}
.header .link_list>li>a:hover{
    color:#d32f2f;
}

/* ========== Banner ========== */
.banner{
    width:100%;
    height:260px;
    background:linear-gradient(135deg,#222,#444);
    color:#fff;
    display:flex;
    align-items:center;
}
.banner .wrap{
    width:1200px;
    margin:0 auto;
}
.banner h1{
    font-size:42px;
    margin-bottom:10px;
}
.banner p{
    color:rgba(255,255,255,0.8);
    font-size:16px;
}

/* ========== 主体容器 ========== */
.container{
    width:1200px;
    margin:30px auto;
    display:flex;
    gap:30px;
    align-items:flex-start;
}

/* ========== 侧边栏 ========== */
.sidebar{
    width:280px;
    flex-shrink:0;
}
.card{
    background:#fff;
    border:1px solid #e5e5e5;
    margin-bottom:20px;
}
.card-title{
    padding:16px 20px;
    font-size:18px;
    font-weight:600;
    border-bottom:1px solid #eee;
}
.category-list,
.tag-list{
    padding:18px 20px;
}
.category-list a{
    display:block;
    padding:12px 0;
    border-bottom:1px dashed #eee;
    transition:0.2s;
}
.category-list a:last-child{
    border-bottom:none;
}
.category-list a:hover,
.category-list a.active{
    color:#d32f2f;
    padding-left:5px;
}
.tag-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.tag-list a{
    display:inline-block;
    padding:6px 12px;
    border:1px solid #ddd;
    border-radius:4px;
    font-size:13px;
    background:#fafafa;
    transition:0.2s;
}
.tag-list a:hover{
    background:#d32f2f;
    border-color:#d32f2f;
    color:#fff;
}

/* ========== 主内容区 ========== */
.main{
    flex:1;
    min-width:0;
}

/* ========== 面包屑 ========== */
.breadcrumb{
    font-size:14px;
    color:#999;
    margin-bottom:20px;
    padding:0 5px;
}
.breadcrumb a{
    color:#666;
}
.breadcrumb a:hover{
    color:#d32f2f;
}

/* ========== 文章列表（index） ========== */
.article-list{
    display:flex;
    flex-direction:column;
    gap:20px;
}
.article-card{
    background:#fff;
    border:1px solid #e5e5e5;
    padding:24px 28px;
    display:flex;
    gap:24px;
    transition:box-shadow 0.2s;
}
.article-card:hover{
    box-shadow:0 2px 12px rgba(0,0,0,0.08);
}
.article-cover{
    width:220px;
    height:150px;
    flex-shrink:0;
    overflow:hidden;
    border-radius:4px;
    background:#eee;
}
.article-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.article-body{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.article-body h2{
    font-size:20px;
    font-weight:600;
    line-height:1.5;
    margin-bottom:10px;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}
.article-body h2 a:hover{
    color:#d32f2f;
}
.article-summary{
    font-size:14px;
    color:#777;
    line-height:1.7;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    margin-bottom:12px;
}
.article-meta{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    font-size:13px;
    color:#aaa;
}
.article-meta .cat-tag{
    color:#d32f2f;
}

/* ========== 空状态 ========== */
.no-data{
    text-align:center;
    padding:80px 0;
    color:#999;
    font-size:16px;
    background:#fff;
    border:1px solid #e5e5e5;
}

/* ========== 分页 ========== */
.pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin:30px 0;
}
.pagination a,
.pagination span{
    display:inline-block;
    min-width:38px;
    height:38px;
    line-height:38px;
    text-align:center;
    border:1px solid #ddd;
    border-radius:4px;
    font-size:14px;
    color:#333;
    background:#fff;
    transition:0.2s;
}
.pagination a:hover{
    border-color:#d32f2f;
    color:#d32f2f;
}
.pagination .active{
    background:#d32f2f;
    border-color:#d32f2f;
    color:#fff;
}
.pagination .disabled{
    color:#ccc;
    cursor:default;
    pointer-events:none;
}

/* ========== Footer ========== */
.footer{
    overflow:hidden;
    background:#F5F5F5;
    margin-top:60px;
}
.footer .m1200{
    margin:0 auto;
    max-width:1200px;
}
.footer .m1200 .main_info{
    overflow:hidden;
    padding:80px 0;
    display:flex;
    align-items:flex-start;
    border-bottom:1px solid #CBCCD1;
    justify-content:space-between;
    padding-right:140px;
}
.footer .m1200 .main_info .info .logo{
    display:block;
    width:160px;
}
.footer .m1200 .main_info .info .contact{
    margin-top:40px;
}
.footer .m1200 .main_info .info .contact p{
    font-size:16px;
    line-height:36px;
    color:#222a41;
    margin-bottom:13px;
}
.footer .m1200 .main_info .info .contact .share{
    display:flex;
    align-items:center;
}
.footer .m1200 .main_info .info .contact .clab{
    position:relative;
    margin-right:11px;
}
.footer .m1200 .main_info .info .contact .clab a{
    display:block;
}
.footer .m1200 .main_info .info .contact .clab a img{
    width:24px;
}
.footer .m1200 .main_info .label{
    overflow:hidden;
}
.footer .m1200 .main_info .label p{
    font-size:18px;
    line-height:2;
    color:#222a41;
    font-weight:bold;
}
.footer .m1200 .main_info .label ul{
    overflow:hidden;
    margin-top:13px;
}
.footer .m1200 .main_info .label ul li{
    overflow:hidden;
    margin-bottom:13px;
}
.footer .m1200 .main_info .label ul li:hover a{
    color:#d32f2f;
}
.footer .m1200 .main_info .label ul li a{
    display:block;
    font-size:16px;
    line-height:36px;
    color:#222a41;
    opacity:0.7;
}
.footer .m1200 footer{
    overflow:hidden;
    padding:22px 0 60px;
}
.footer .m1200 footer div{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
}
.footer .m1200 footer div a{
    font-size:16px;
    color:#999990;
    line-height:61px;
    margin-right:20px;
    display:block;
}
.footer .m1200 footer div a:hover{
    color:#d32f2f;
}
.footer .m1200 footer div p{
    font-size:16px;
    cursor:pointer;
    color:#999990;
    display:flex;
    align-items:center;
}
.footer .m1200 footer div p img{
    width:10px;
    margin-left:6px;
}

/* ========== 汉堡菜单按钮 ========== */
.menu-toggle{
    display:none;
    background:none;
    border:none;
    cursor:pointer;
    padding:10px;
    margin-left:auto;
}
.menu-toggle span{
    display:block;
    width:24px;
    height:2px;
    background:#333;
    margin:5px 0;
    transition:all .3s;
}
.header.menu-open .menu-toggle span:nth-child(1){
    transform:rotate(45deg) translate(5px,5px);
}
.header.menu-open .menu-toggle span:nth-child(2){
    opacity:0;
}
.header.menu-open .menu-toggle span:nth-child(3){
    transform:rotate(-45deg) translate(5px,-5px);
}

/* ========== 响应式 ========== */
@media (max-width:1240px){
    .banner .wrap,
    .container{
        width:100%;
        padding-left:15px;
        padding-right:15px;
    }
    .footer .m1200{
        padding-left:15px;
        padding-right:15px;
    }
}
@media (max-width:900px){
    /* Header 移动端 */
    .header{
        height:auto;
        flex-direction:column;
        position:sticky;
        top:0;
    }
    .header .m{
        width:100%;
        padding:10px 15px;
    }
    .header .fl{
        width:100%;
        flex-wrap:wrap;
    }
    .header .logo{
        height:40px;
    }
    .menu-toggle{
        display:block;
    }
    .header .link_list{
        display:none;
        width:100%;
        flex-direction:column;
        height:auto;
        margin:0;
        padding:10px 0;
        border-top:1px solid #eee;
    }
    .header.menu-open .link_list{
        display:flex;
    }
    .header .link_list>li{
        height:auto;
        flex-direction:column;
    }
    .header .link_list>li>a{
        height:45px;
        padding:0 15px;
    }
    .header .link_list>li .label{
        height:45px;
        padding:0 15px;
        justify-content:space-between;
    }
    .header .link_list>li .showbox{
        position:static;
        transform:none;
        box-shadow:none;
        border-radius:0;
        visibility:visible;
        opacity:1;
        display:none;
        padding:0 15px;
    }
    .header .link_list>li.active .showbox{
        display:block;
    }
    .header .link_list>li .showbox .item .link{
        height:40px;
        margin-bottom:0;
    }
    .header .link_list>li:hover .showbox{
        opacity:1;
        visibility:inherit;
        top:auto;
    }

    /* Banner 移动端 */
    .banner{
        height:160px;
    }
    .banner h1{
        font-size:28px;
    }
    .banner p{
        font-size:14px;
    }

    /* 容器移动端 */
    .container{
        flex-direction:column;
        margin:15px auto;
        gap:15px;
    }
    .sidebar{
        width:100%;
        order:1;
    }

    /* 文章卡片移动端 */
    .article-card{
        flex-direction:column;
        padding:15px;
    }
    .article-cover{
        width:100%;
        height:180px;
    }
    .article-body h2{
        font-size:18px;
    }
    .article-meta{
        gap:10px;
        font-size:12px;
    }

    /* 分页移动端 */
    .pagination{
        gap:5px;
    }
    .pagination a,
    .pagination span{
        min-width:32px;
        height:32px;
        line-height:32px;
        font-size:12px;
    }

    /* Footer 移动端 */
    .footer{
        margin-top:30px;
    }
    .footer .m1200 .main_info{
        display:grid;
        grid-template-columns:repeat(3, 1fr);
        padding:25px 15px;
        gap:15px;
    }
    .footer .m1200 .main_info .info{
        grid-column:1 / -1;
        display:flex;
        align-items:center;
        gap:15px;
    }
    .footer .m1200 .main_info .info .logo{
        width:100px;
    }
    .footer .m1200 .main_info .info .contact{
        margin-top:0;
    }
    .footer .m1200 .main_info .info .contact p{
        font-size:14px;
        margin-bottom:5px;
    }
    .footer .m1200 .main_info .label p{
        font-size:14px;
        font-weight:bold;
    }
    .footer .m1200 .main_info .label ul{
        margin-top:5px;
    }
    .footer .m1200 .main_info .label ul li{
        margin-bottom:3px;
    }
    .footer .m1200 .main_info .label ul li a{
        font-size:13px;
        line-height:24px;
    }
    .footer .m1200 footer{
        padding:15px;
    }
    .footer .m1200 footer div{
        flex-wrap:wrap;
        justify-content:center;
        gap:5px 10px;
    }
    .footer .m1200 footer div a{
        font-size:12px;
        line-height:30px;
        margin-right:0;
    }
    .footer .m1200 footer div p{
        font-size:12px;
    }
}

@media (max-width:480px){
    .banner{
        height:120px;
    }
    .banner h1{
        font-size:22px;
    }
    .banner p{
        font-size:12px;
    }
    .article-cover{
        height:150px;
    }
    .article-body h2{
        font-size:16px;
    }
    .pagination a,
    .pagination span{
        min-width:28px;
        height:28px;
        line-height:28px;
        font-size:11px;
    }
}
