.community-card {
  display: flex;
  flex-direction: column;
}

.community-card__banner {
  position: relative;
  height: clamp(8rem, 12vw, 9rem);
  overflow: hidden;
  background: var(--cng-surface-2, #181820);
}

.community-card__banner.has-image::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  background: linear-gradient(180deg, transparent 62%, color-mix(in srgb, var(--cng-bg, #08080c) 18%, transparent));
  pointer-events: none;
}

.community-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.community-card .card-title {
  align-items: flex-start;
  min-height: 2.75rem;
}

.community-card h3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.community-card__description {
  display: -webkit-box;
  min-height: calc(1.4em * 4);
  margin: .65rem 0 .25rem;
  overflow: hidden;
  line-height: 1.4;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.community-card__read-more {
  align-self: flex-start;
  min-height: 44px;
  margin: 0 0 .25rem;
  padding-inline: 0;
}

.community-card__meta {
  flex-wrap: wrap;
  margin-top: .35rem;
}

.community-card__body > .actions {
  margin-top: auto;
}

.community-description-dialog {
  max-height: min(80dvh, 680px);
  overflow: auto;
}

.community-description-dialog h2,
.community-description-dialog p {
  overflow-wrap: anywhere;
}

.community-description-dialog p {
  white-space: pre-wrap;
}
