/* Category 模块 - 所有 category 变体共用的基础样式 */
.mod-category { max-width: 1100px; margin: 0 auto; padding: 40px 20px; }
.mod-category__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.mod-category__card { background: #fff; border-radius: var(--radius-base, 10px); padding: 16px; box-shadow: var(--shadow-base, 0 2px 10px rgba(0,0,0,.06)); }
.mod-category__card img { width: 100%; max-height: 160px; object-fit: cover; border-radius: var(--radius-base, 8px); margin-bottom: 12px; }
.mod-category__card h3 { margin: 0 0 8px; }
.mod-category__card h3 a { color: var(--dark, #111); text-decoration: none; }
.mod-category__desc { color: #666; font-size: 14px; line-height: 1.6; margin: 0 0 12px; }
.mod-category__articles { list-style: none; padding: 0; margin: 0; }
.mod-category__articles li { padding: 6px 0; border-top: 1px solid #f0f0f0; }
.mod-category__articles a { color: var(--primary, #2563eb); text-decoration: none; font-size: 14px; }

/* ===== category02: 横向标签云式 ===== */
.mod-category--v2 .mod-category__tag-cloud { display: flex; flex-wrap: wrap; gap: calc(var(--spacing-unit, 8px) * 1.5); }
.mod-category__tag-pill { display: inline-block; padding: 8px 20px; background: #f3f4f6; color: var(--color-dark, var(--dark, #111)); text-decoration: none; border-radius: 999px; font-size: 14px; font-weight: 600; transition: transform var(--animation-duration, .3s); }
.mod-category__tag-pill:hover { background: var(--color-primary, var(--primary, #2563eb)); color: #fff; transform: translateY(-2px); }

/* ===== category03: 图文交替式 ===== */
.mod-category__alternating { display: flex; flex-direction: column; gap: calc(var(--spacing-unit, 8px) * 5); }
.mod-category__alt-row { display: flex; align-items: center; gap: calc(var(--spacing-unit, 8px) * 4); }
.mod-category__alt-row--reverse { flex-direction: row-reverse; }
.mod-category__alt-image-wrap { flex: 1 1 40%; }
.mod-category__alt-image-wrap img { width: 100%; border-radius: var(--radius-base, 10px); box-shadow: var(--shadow-base, 0 2px 10px rgba(0,0,0,.08)); }
.mod-category__alt-text { flex: 1 1 55%; }
.mod-category__alt-text h3 a { color: var(--color-dark, var(--dark, #111)); text-decoration: none; font-size: 20px; }
.mod-category__alt-desc { color: #666; font-size: 14px; line-height: 1.7; margin: 8px 0 12px; }
.mod-category__alt-articles { list-style: none; padding: 0; margin: 0; }
.mod-category__alt-articles li { padding: 5px 0; }
.mod-category__alt-articles a { color: var(--color-primary, var(--primary, #2563eb)); text-decoration: none; font-size: 14px; }
@media (max-width: 768px) { .mod-category__alt-row, .mod-category__alt-row--reverse { flex-direction: column; } }

/* ===== category04: 门户资讯式 ===== */
.mod-category__portal-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: calc(var(--spacing-unit, 8px) * 4); }
.mod-category__portal-col-title { font-size: 16px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 2px solid var(--color-primary, var(--primary, #2563eb)); }
.mod-category__portal-col-title a { color: var(--color-dark, var(--dark, #111)); text-decoration: none; }
.mod-category__portal-col-list { list-style: none; padding: 0; margin: 0; }
.mod-category__portal-col-list li { padding: 5px 0; }
.mod-category__portal-col-list a { color: #555; text-decoration: none; font-size: 13px; }
.mod-category__portal-col-list a:hover { color: var(--color-primary, var(--primary, #2563eb)); }
