/* Homepage news. Keep dates and summaries readable within the active layout. */
.rich-home #latest-news.association-news .news-filters a:not([aria-current="true"]):not(:hover) {
  background: #eee;
}
.rich-home #latest-news.association-news .publication-meta {
  font-size: clamp(13px, .9vw, 15px);
  line-height: 1.5;
}
.rich-home #latest-news.association-news .publication-list-heading h3 {
  font-size: clamp(19px, 1.45vw, 24px);
}
.rich-home #latest-news.association-news .publication-list-heading > span {
  font-size: clamp(12px, .9vw, 14px);
}
.rich-home #latest-news.association-news .news-slide-copy > p,
.rich-home #latest-news.association-news .publication-row-copy > p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: clamp(15px, 1.04vw, 17px);
  line-height: 1.65;
}
@media (min-width:641px) and (max-width:800px) {
  .rich-home #latest-news.association-news .publication-list { grid-template-columns: minmax(0,1fr); }
}
/* In full-page mode reserve room for the larger captions and the section link. */
html.csapa-home-paging .rich-home #latest-news.association-news .news-slide-image {
  height: clamp(100px, calc(100svh - var(--home-header-offset) - var(--news-caption-space, 510px)), 350px);
}
@media (min-width:1024px) and (max-height:750px) {
  html.csapa-home-paging #latest-news { --news-caption-space: 454px; }
  html.csapa-home-paging .rich-home #latest-news.association-news .publication-row-copy > p,
  html.csapa-home-paging .rich-home #latest-news.association-news .news-slide-copy > p {
    -webkit-line-clamp: 1;
  }
}

/* News archives share a consistent image frame even for portrait or panoramic originals. */
.association-listing .association-row-photo {
  width: 29%;
  max-width: 350px;
  flex: none;
  aspect-ratio: 8 / 5;
  object-fit: cover;
  background: #fff;
}
.association-listing .association-row-copy p {
  color: #6c6c6c;
  font-size: clamp(16px, 1.16vw, 19px);
  line-height: 1.7;
}
@media (max-width:600px) {
  .association-listing .association-news-row {
    flex-direction: column;
    gap: 12px;
  }
  .association-listing .association-row-photo {
    align-self: stretch;
    width: 100%;
    max-width: none;
  }
  .association-listing .association-row-copy time { margin-top: 4px; }
}
