/* Grid: more columns sooner, real gutters */
.views-view-responsive-grid.views-view-responsive-grid--horizontal:has(.views-field-field-topic-box-summary) {
  margin: 24px 0 48px;
  --views-responsive-grid--layout-gap: 24px !important;
}
@media (min-width: 576px) and (max-width: 991px) {
  .views-view-responsive-grid.views-view-responsive-grid--horizontal:has(.views-field-field-topic-box-summary) {
    --views-responsive-grid--column-count: 2 !important;
  }
}
@media (min-width: 992px) {
  .views-view-responsive-grid.views-view-responsive-grid--horizontal:has(.views-field-field-topic-box-summary) {
    --views-responsive-grid--column-count: 3 !important;
  }
}

/* Card: height follows content; cards in a row still match */
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-view-responsive-grid__item {
  border: 1px solid #e3e6ea;
  overflow: hidden;
}
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-view-responsive-grid__item-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Image: edge to edge, scales with card width */
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-field.views-field-field-program-page-image {
  padding: 0;
  margin: 0;
}
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-field.views-field-field-program-page-image .field.field--name-field-media-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* Title + summary: remove fixed heights */
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-field.views-field-title {
  display: block;
  height: auto;
  margin: 0;
  padding: 16px 20px 4px;
}
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .field-content.topic-box-title-field {
  height: auto;
}
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-field.views-field-field-topic-box-summary {
  padding: 4px 20px 12px;
  flex: 1; /* pushes tags to the bottom */
}
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-field.views-field-field-topic-box-summary p {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Tags: normal flow, not absolute */
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-field.views-field-field-program-tag,
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-field.views-field-field-audience {
  position: static;
  margin: 0 20px 8px;
}
.views-view-responsive-grid:has(.views-field-field-topic-box-summary) .views-field.views-field-field-audience {
  margin-bottom: 20px;
}