/* ============ 首页分类卡片（增量样式，不改动 site.css） ============ */
.cat-doc-card {
    border: 1px solid var(--line, #e5e7eb);
    border-radius: var(--radius, .5rem);
    background: var(--card, #fff);
    color: var(--ink, #1f2937);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.cat-doc-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px -10px rgba(17, 24, 39, .18);
    border-color: rgba(185, 28, 28, .35);
    color: var(--primary, #b91c1c);
}

.cat-doc-card .cat-doc-title {
    line-height: 1.35;
}

.cat-doc-card .badge {
    font-weight: 600;
    font-size: .72rem;
    letter-spacing: .02em;
}

/* ============ 分类卡：一行三列，卡内标题列表（每类 10 篇） ============ */
.cat-row { margin: 1.2rem 0; }
.cat-list-card { margin-bottom: 0; padding: 1.2rem 1rem; }
.cat-row:first-of-type { margin-top: .8rem; }

.cat-list-name { color: inherit; text-decoration: none; }
.cat-list-name:hover { color: var(--teal-dark); }

.cat-list li { padding: .3rem 0; }

/* 标题复用「最新公文」的 nl-title（.72rem + file 色块 + 虚线分隔），
   但改为单行显示，超出做溢出省略 */
.cat-list .nl-title {
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.6;
}
