/* ===== 内容库筛选 ===== */
.lib-filter {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 32px; flex-wrap: wrap; gap: 16px;
}
.lf-tabs { display: flex; gap: 4px; }
.lftab {
  padding: 8px 18px; border-radius: 100px;
  border: 1.5px solid var(--border); background: var(--bg-white);
  font-size: .88rem; font-weight: 500; cursor: pointer;
  color: var(--text-secondary); transition: all var(--transition);
}
.lftab:hover, .lftab.active { background: var(--primary); color: #fff; border-color: var(--primary); }
.lf-industry { display: flex; gap: 10px; flex-wrap: wrap; }
.lf-industry select {
  padding: 7px 12px; border: 1.5px solid var(--border);
  border-radius: var(--radius-sm); font-size: .85rem;
  background: var(--bg-white); cursor: pointer; outline: none;
}

/* ===== 内容网格 ===== */
.lib-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.lib-card {
  display: flex; flex-direction: column;
  background: var(--bg-white); border: 1.5px solid var(--border);
  border-radius: var(--radius-md); overflow: hidden;
  transition: all var(--transition); cursor: pointer;
}
.lib-card:hover { border-color: var(--primary); box-shadow: var(--shadow-md); transform: translateY(-3px); }

.lc-thumb {
  height: 140px; display: flex; align-items: center; justify-content: center;
  font-size: 3rem; position: relative; flex-shrink: 0;
}
.article-bg { background: linear-gradient(135deg, #EEF2FF, #C7D2FE); }
.video-bg { background: linear-gradient(135deg, #1a1a1a, #374151); color: #fff; }
.download-bg { background: linear-gradient(135deg, #F0FDF4, #BBF7D0); }

.play-btn {
  width: 48px; height: 48px; background: rgba(255,255,255,.2);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; border: 2px solid rgba(255,255,255,.4);
}
.video-duration {
  position: absolute; bottom: 8px; right: 10px;
  background: rgba(0,0,0,.7); color: #fff;
  padding: 2px 8px; border-radius: 4px; font-size: .75rem; font-weight: 600;
}

.lc-body { padding: 16px; flex: 1; display: flex; flex-direction: column; }
.lc-meta { display: flex; gap: 6px; margin-bottom: 8px; }
.lc-body h3 { font-size: .9rem; font-weight: 700; margin-bottom: 6px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lc-body p { font-size: .8rem; color: var(--text-secondary); line-height: 1.5; margin-bottom: 10px; flex: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lc-footer { display: flex; gap: 12px; font-size: .75rem; color: var(--text-muted); flex-wrap: wrap; }

.download-card .download-btn { margin-top: 12px; width: 100%; }

/* ===== 统计栏 ===== */
.lib-stats {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: .82rem;
  color: var(--text-muted);
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.lib-stats strong { color: var(--text-primary); }

/* ===== 来源标签 ===== */
.tag-source {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px;
  border-radius: 100px;
  font-size: .72rem;
  font-weight: 500;
  background: #F1F5F9;
  color: #64748B;
}

/* ===== 空状态 ===== */
.lib-empty {
  text-align: center;
  padding: 80px 20px;
  color: var(--text-muted);
}
.lib-empty h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; color: var(--text-secondary); }
.lib-empty p  { font-size: .88rem; }
.lib-empty a  { color: var(--primary); text-decoration: underline; cursor: pointer; }

/* lib-card 作为 <a> 时去掉下划线 */
a.lib-card { text-decoration: none; color: inherit; }

/* 响应式 */
@media (max-width: 1024px) {
  .lib-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .lib-grid { grid-template-columns: 1fr; }
  .lib-filter { flex-direction: column; align-items: flex-start; }
}
