.activity-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1rem;
  margin-block-end: var(--space-7);
  padding-block-end: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.activity-filters a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-inline: .35rem;
  color: var(--color-primary);
  text-decoration: none;
}

.activity-filters a[aria-current="page"] { border-bottom: 2px solid var(--color-gold); font-weight: 700; }
.activity-filters a:hover, .activity-filters a:focus-visible { text-decoration: underline; text-underline-offset: .25em; }
.activity-archive__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); }
.activity-card { min-width: 0; }
.activity-card__link { display: block; height: 100%; color: inherit; text-decoration: none; }
.activity-card__link:hover .text-link, .activity-card__link:focus-visible .text-link { text-decoration: underline; }
.activity-card__image { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.activity-card__place { color: var(--color-text-muted); font-size: var(--font-size-sm); }
.activity-card .text-link { display: inline-block; margin-block-start: var(--space-3); }
.activity-empty { padding-block: var(--space-7); color: var(--color-text-muted); }
.activity-archive .navigation.pagination { margin-block-start: var(--space-7); }
.activity-archive .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; color: var(--color-primary); }
.activity-archive .page-numbers.current { border-bottom: 2px solid var(--color-gold); font-weight: 700; }
.activity-detail__header { padding-block: var(--section-space); background: var(--color-canvas); }
.activity-detail__header .heading-display { margin-block: var(--space-4) var(--space-6); }
.activity-detail__facts { display: grid; grid-template-columns: auto 1fr; gap: .4rem 1.25rem; margin: 0; }
.activity-detail__facts dt { color: var(--color-text-muted); }
.activity-detail__facts dd { margin: 0; }
.activity-detail__hero { margin-block: var(--space-7); }
.activity-detail__hero img { display: block; width: 100%; max-height: 44rem; object-fit: cover; }
.activity-detail__content { padding-block: var(--space-6) var(--section-space); }
.activity-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-block-start: var(--space-6); }
.activity-gallery__trigger { min-width: 0; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.activity-gallery__trigger img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.activity-lightbox { position: fixed; max-width: min(92vw, 75rem); max-height: 90vh; padding: var(--space-4); border: 0; background: var(--color-canvas); }
.activity-lightbox::backdrop { background: rgb(0 0 0 / 82%); }
.activity-lightbox img { display: block; max-width: 100%; max-height: 78vh; margin-inline: auto; object-fit: contain; }
.activity-lightbox__close { display: block; min-width: 44px; min-height: 44px; margin-inline-start: auto; border: 0; background: transparent; color: var(--color-primary); font-size: 2rem; cursor: pointer; }
.activity-detail__back { padding-block: var(--space-7); }
@media (min-width: 48rem) {
  .activity-archive__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activity-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 70rem) {
  .activity-archive__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .activity-gallery__trigger, .activity-lightbox { transition: none; }
}
