/* Nieuwssectie (#carousel_aa97): kop, raster met berichten, foto, datum en tekst.
   add_blogpost.py maakt berichten met dezelfde classes (u-repeater-item-3, u-image-3, ...). */

.u-section-2 .u-text-1 {
  margin: 80px 106px 0;
}

.u-section-2 .u-blog-1 {
  margin: 50px 0 60px;
}

.u-section-2 .u-repeater-1 {
  grid-template-columns: repeat(3, calc(33.3333% - 14.6667px));
  grid-gap: 22px;
}

.u-section-2 .u-repeater-item-3 {
  box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.2);
}

.u-section-2 .u-container-layout-3 {
  padding: 30px;
}

.u-section-2 .u-image-3 {
  height: 180px;
  margin-top: 0;
  margin-bottom: 0;
}

.u-section-2 .u-metadata-3 {
  font-size: 0.875rem;
  font-style: normal;
  margin: 17px auto 0;
}

.u-section-2 .u-text-4 {
  margin: 15px 0 0;
}

/* filterknoppen (news-filter.js) */
.news-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 20px 0 0;
}

.news-filter + .u-blog-1 {
  margin-top: 30px;
}

.news-filter button {
  padding: 4px 12px;
  border: 2px solid #478ac9;
  border-radius: 999px;
  background: #fff;
  color: #478ac9;
  font: inherit;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}

.news-filter button:hover {
  background: #e8f0f8;
}

.news-filter button[aria-pressed="true"] {
  background: #478ac9;
  color: #fff;
}

.news-filter button:focus-visible {
  outline: 3px solid #1f5c99;
  outline-offset: 2px;
}

.u-section-2 .news-hidden {
  display: none !important;
}

/* in- en uitfaden bij het wisselen van filter (news-filter.js) */
.u-section-2 .u-repeater-1 {
  transition: opacity 0.2s ease;
}

.u-section-2 .u-repeater-1.news-fading {
  opacity: 0;
  transition-duration: 0.15s;
}

@media (prefers-reduced-motion: reduce) {
  .u-section-2 .u-repeater-1 { transition: none; }
}

@media (max-width: 1199px) {
  .u-section-2 .u-text-1 {
    margin-left: 6px;
    margin-right: 6px;
  }

  .u-section-2 .u-image-3 {
    height: 225px;
  }
}

@media (max-width: 991px) {
  .u-section-2 .u-text-1 {
    margin-left: 0;
    margin-right: 0;
  }

  .u-section-2 .u-repeater-1 {
    grid-template-columns: repeat(2, calc(50% - 11px));
  }
}

@media (max-width: 767px) {
  .u-section-2 .u-repeater-1 {
    grid-template-columns: 100%;
  }

  .u-section-2 .u-image-3 {
    height: 311px;
  }

  .u-section-2 .u-metadata-3 {
    font-style: italic;
  }
}

@media (max-width: 575px) {
  .u-section-2 .u-container-layout-3 {
    padding-left: 20px;
    padding-right: 20px;
  }

  .u-section-2 .u-image-3 {
    height: 264px;
  }
}
