/* ==========================================================================
   Блок новостей (список карточек)
   ========================================================================== */

.news-list {
  width: 100%;
}

.news-list__items {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.news-card {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}

.news-card__media {
  flex: 0 0 32%;
  max-width: 380px;
  width: 32%;
  aspect-ratio: 16 / 10;
  border-radius: var(--radius-m, 12px);
  background-color: #d9d9d9;
  overflow: hidden;
  text-decoration: none;
}

.news-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-card__body {
  flex: 1;
  min-width: 0;
  padding-top: 4px;
}

.news-card__title {
  margin: 0 0 16px;
  font-family: var(--font, "Rosatom", sans-serif);
  font-size: var(--fs-h3, 28px);
  font-weight: var(--fw-h3, 600);
  line-height: var(--lh-h3, 115%);
  color: var(--color-primary, #003274);
}

.news-card__title a {
  color: inherit;
  text-decoration: none;
}

.news-card__title a:hover {
  opacity: 0.8;
  text-decoration: none;
}

.news-card__excerpt {
  margin: 0;
  font-family: var(--font, "Rosatom", sans-serif);
  font-size: var(--fs-body, 18px);
  font-weight: var(--fw-body, 500);
  line-height: 145%;
  color: var(--color-primary, #003274);
}

.news-list__more {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}

.news-list__more-link {
  font-family: var(--font, "Rosatom", sans-serif);
  font-size: var(--fs-h5, 18px);
  font-weight: 700;
  line-height: var(--lh-h5, 125%);
  color: var(--color-primary, #003274);
  text-decoration: none;
  transition: opacity var(--ease, 240ms ease);
}

.news-list__more-link:hover {
  opacity: 0.75;
}

@media (max-width: 960px) {
  .news-list__items {
    gap: 32px;
  }

  .news-card {
    flex-direction: column;
    gap: 16px;
  }

  .news-card__media {
    width: 100%;
    max-width: none;
    flex: none;
  }

  .news-card__title {
    font-size: var(--fs-h4, 22px);
    margin-bottom: 12px;
  }

  .news-card__excerpt {
    font-size: var(--fs-small, 14px);
  }

  .news-list__more {
    margin-top: 32px;
  }
}
