/* ── 社區列表 */
.community-section { padding: 3rem 0; }

.community-article {
  margin-bottom: 4rem; padding-bottom: 3rem;
  border-bottom: 1px solid var(--c-border);
}
.community-article:last-child { border-bottom: none; margin-bottom: 0; }

.article-inner { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
@media (min-width: 768px) {
  .article-inner { grid-template-columns: 1fr 1fr; gap: 3rem; }
  .community-article:nth-child(even) .article-img-wrap { order: 2; }
  .community-article:nth-child(even) .article-body    { order: 1; }
}

.article-img-wrap {
  border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: var(--shadow-md); background: var(--c-accent); aspect-ratio: 4/3;
}
.article-img-wrap img {
  width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease;
}
.community-article:hover .article-img-wrap img { transform: scale(1.03); }

.community-tag {
  display: inline-block; font-size: .8rem; font-weight: 700;
  color: var(--c-primary); background: rgba(59,93,80,.1);
  padding: .18rem .6rem; border-radius: var(--radius-pill);
  margin-bottom: .45rem; text-decoration: none;
}
.community-name {
  font-size: 1.35rem; font-weight: 700; color: var(--c-text); margin: 0 0 .3rem; line-height: 1.35;
}
.community-subtitle {
  font-size: 1.05rem; font-weight: 600; color: var(--c-primary);
  margin: 0 0 .9rem; line-height: 1.45;
}
.community-desc {
  font-size: 1rem; color: var(--c-muted); line-height: 1.8; margin: 0 0 1.2rem;
  display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden;
}
.btn-more {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .5rem 1.3rem;
  background: transparent; color: var(--c-primary);
  border: 2px solid var(--c-primary); border-radius: var(--radius-pill);
  font-weight: 700; font-size: .9rem; text-decoration: none; transition: all var(--trans);
}
.btn-more:hover { background: var(--c-primary); color: #fff; text-decoration: none; }
.btn-more:focus-visible { outline: 3px solid var(--c-focus); outline-offset: 2px; }
