/* ===== Hero ===== */
.banner{
    width: 100%;
    position: absolute;
    z-index: -1;
    height: 530px;
    min-width: 1480px;
    background-image: url(../../lib/images/banner.png);
    background-position: center top !important;
    background-repeat: no-repeat !important;
}
.hero{
    /*background:linear-gradient(135deg,#2a4bd7,#4b3cd3);*/
    color:white;
    text-align:center;
    padding:100px 20px;
    margin-bottom: 50px;
}

.hero h1{
    font-size:44px;
    margin-bottom:20px;
}

.hero p{
    font-size:18px;
    opacity:.9;
    margin-bottom:50px;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
}

.btn{
    padding:12px 28px;
    border-radius:8px;
    border:none;
    font-size:16px;
    cursor:pointer;
}
.hero-buttons>a:hover{
    color: #245269;
    text-decoration: none;
}

.btn-search{
    background:white;
}

.btn-upload{
    background:#3f7cff;
    color:white;
}

/* ===== 统计卡片 ===== */

.stats{
    display:flex;
    gap:20px;
    margin-top:-60px;
    margin-bottom: 80px;
}

.stat-card{
    background:white;
    flex:1;
    padding:20px;
    border-radius:10px;
    box-shadow:0 5px 15px rgba(0,0,0,0.05);
    display:flex;
    align-items:center;
    gap:15px;
}

.stat-icon{
    font-size:24px;
    background:#eef2ff;
    padding:12px;
    border-radius:50%;
}

.stat-number{
    font-size:22px;
    font-weight:bold;
}

/* ===== section ===== */

.section{
    margin-top:50px;
}

.section-title{
    display:flex;
    justify-content:space-between;
    margin-bottom:20px;
}
.section-title>a {
    color: #344CA8;
    font-size:16px;
    text-decoration: underline;
}

.section-title h2{
    font-size:24px;
    font-weight: bold;
}

/* ===== 文档卡片 ===== */

.doc-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.doc-card{
    background:white;
    padding:18px;
    border-radius:10px;
    box-shadow:0 3px 10px rgba(0,0,0,0.05);
    transition:all .2s;
    cursor: pointer;
}

.doc-card:hover{
    transform:translateY(-5px);
}

.doc-type{
    font-size:12px;
    padding:4px 8px;
    border-radius:6px;
    background:#eef2ff;
    display:inline-block;
}
.doc-meta span{
    padding:4px 8px;
}

.doc-title{
    font-weight:600;
    margin-bottom:8px;
    margin-top: 8px;;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}

.doc-desc{
    font-size:13px;
    color:#777;
    margin-bottom:12px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}

.doc-meta{
    font-size:12px;
    color:#999;
    display:flex;
    justify-content:space-between;
}
.doc-image{
    border: 1px solid #eee;
    border-radius: 8px;
    height: 300px;
    overflow: hidden;
}
.doc-image img{
    width: 100%;
    height: 100%;
}