/* Let editorial images use the full content width without a surrounding frame. */
body.node--type-article .main-content .block-page-title-block,
body.node--type-article .main-content article.node--type-article {
  max-width: 880px;
  margin-inline: auto;
}

body.node--type-article .main-content .block-page-title-block h1 {
  font-size: clamp(2rem, 3.5vw, 3rem);
  line-height: 1.1;
  hyphens: none;
  text-wrap: balance;
}

body.node--type-article article.node--type-article .node__meta {
  margin-bottom: 1rem;
}

body.node--type-article article.node--type-article .node__content > .field--name-field-featured-image {
  display: block;
  padding: 0;
  background: none;
}

body.node--type-article article.node--type-article .field--name-field-featured-image .field--name-field-media-image {
  width: 100%;
  margin: 0;
}

body.node--type-article article.node--type-article .field--name-field-featured-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
}

body.node--type-article article.node--type-article .field--name-field-content {
  column-count: 1;
  max-width: 70ch;
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 4rem;
  line-height: 1.65;
}

/* Keep news titles in one consistent text column, with the image to the left. */
.news-grid .views-view-responsive-grid__item-inner {
  align-items: stretch;
}

.news-grid .views-view-responsive-grid__item-inner > .b-link {
  display: block;
  order: 1;
  width: 100%;
  aspect-ratio: 5 / 2;
  overflow: hidden;
  background: none;
}

.news-grid .views-view-responsive-grid__item-inner > .content_wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  order: 2;
  min-width: 0;
  margin: 0 !important;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  gap: 1rem;
}

.news-grid .views-view-responsive-grid__item-inner > .content_wrapper h2 {
  margin: 0;
  line-height: 1.15;
  hyphens: none;
  text-wrap: balance;
}

.news-grid .mga-news-title-link {
  color: inherit;
  text-decoration: none;
}

.news-grid .mga-news-title-link:hover,
.news-grid .mga-news-title-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: .12em;
}

.news-grid .mga-news-more {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: .8rem;
  border-bottom: 1px solid currentColor;
  color: var(--mga-nav-ink, #242c31);
  font-size: .9rem;
  font-weight: 650;
  text-decoration: none;
}

.news-grid .mga-news-more:hover {
  border-bottom-width: 2px;
}

.news-grid :is(.mga-news-title-link, .mga-news-more):focus-visible {
  outline: 2px solid var(--mga-nav-ink, #242c31);
  outline-offset: 3px;
}

.news-grid .views-view-responsive-grid__item-inner > .content_wrapper .btn {
  margin: 0 !important;
}

/* The former zigzag order is defined in the compiled theme stylesheet. */
.news-grid .views-view-responsive-grid__item:nth-child(even) .views-view-responsive-grid__item-inner > .b-link {
  order: 1;
}

.news-grid .views-view-responsive-grid__item:nth-child(even) .views-view-responsive-grid__item-inner > .content_wrapper {
  order: 2;
}

.news-grid .views-view-responsive-grid__item-inner > .b-link .media--blazy {
  display: block;
  width: 100%;
  height: 100%;
}

.news-grid .views-view-responsive-grid__item-inner > .b-link img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}

@media (max-width: 767px) {
  body.node--type-article .main-content .block-page-title-block,
  body.node--type-article .main-content article.node--type-article {
    max-width: 100%;
  }

  .news-grid .views-view-responsive-grid__item-inner {
    display: flex;
    flex-direction: column;
  }

  .news-grid .views-view-responsive-grid__item-inner > .content_wrapper {
    padding: 1.25rem;
  }

  .news-grid .views-view-responsive-grid__item-inner > .content_wrapper h2 {
    font-size: clamp(1.25rem, 5.4vw, 1.55rem);
  }
}
