/* Requested activity grid only; V7 block, frame, type and action rules remain the base. */
.approved-activities .programme-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.approved-activities .programme-entry { min-width: 0; }
.approved-activities .programme-entry + .programme-entry { margin-top: 0; }
.approved-activities .programme-cover { display: block; }
.approved-activities .programme-cover img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.approved-activities .programme-entry h2 a { color: inherit; text-decoration: none; }
.approved-activities .programme-entry .programme-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.approved-activities .archive-controls label { min-width: 0; }
.approved-activities .archive-controls select { min-width: 0; max-width: 100%; }
@media (min-width: 48rem) {
  .approved-activities .programme-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.approved-activities .programme-entry > .button { display: flex; width: fit-content; margin-left: auto; }

/* Keep the native CTA gap while aligning every action to its card bottom. */
.approved-activities .programme-entry:not([hidden]) { display: flex; flex-direction: column; }
.approved-activities .programme-entry h2 { margin-top: 0; }
.approved-activities .programme-entry > .programme-excerpt { flex-grow: 1; }

/* Keep a colon subtitle together when it fits, without changing the source title. */
.approved-activities .programme-entry h2:has(.programme-heading-part) { text-wrap: wrap; }
.approved-activities .programme-heading-part { display: inline-block; max-width: 100%; }
