.home-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.featured-block {
  display: flex;
  width: 100%;
  height: 400px;
  margin-bottom: 20px;
  gap: 20px;
}

.featured-article {
  position: relative;
  overflow: hidden;
  flex: 1 1 60%;
  height: 100%;
  border-radius: 10px;
}

.featured-side {
  flex: 1 1 40%; /* Правый блок: минимум 40% */
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
}

.featured-article--side {
  flex: 1 1 50%; /* Половина высоты для №2 и №3 */
  height: 200px;
  position: relative;
}

.featured-article__image {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Масштабирование без искажения */
  position: absolute; /* Изображение на весь блок */
  top: 0;
  left: 0;
}

.featured-article__gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 45%; /* Затемняем нижние 45% */
  background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0));
}

.featured-article__content {
  position: absolute; /* Текст поверх изображения и градиента */
  bottom: 0;
  left: 0;
  right: 0;
}

.featured-article__title {
  position: absolute;
  bottom: 56px; /* По твоему требованию */
  left: 30px; /* По твоему требованию */
  right: 30px;
  font-family: "Roboto", sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #fff; /* Белый цвет */
  margin: 0;
  text-decoration: none; /* Без подчеркивания */
}

.featured-article__title a {
  color: #fff;
  text-decoration: none;
}

.featured-article__excerpt {
  position: absolute;
  bottom: 10px; /* По твоему требованию */
  left: 30px; /* По твоему требованию */
  right: 30px;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #fff; /* Белый цвет */
  height: 40px; /* По твоему требованию */
  margin: 0;
  overflow: hidden; /* Обрезаем длинный текст */
  text-overflow: ellipsis; /* Многоточие для длинного текста */
}

/* Grid для новостей и статей */
.home-page__grid {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr; /* Соотношение 1:2:1 */
  gap: 20px;
}

/* Новости */
.news-column {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.news-item {
  padding: 10px 15px;
  background-color: #fff;
  border-radius: 10px;
}

.news-item__category {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  color: rgb(0, 0, 0); /* Серый для категории */
  display: block;
  margin-bottom: 5px;
  font-weight: 700;
}

.news-item__details {
  align-items: center;
  gap: 10px;
}

.news-item__time {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  color: #999; /* Серый для даты */
}

.news-item__link {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  color: #000; /* Чёрный текст */
  text-decoration: none;
}

.news-item__image,
.article-item__image {
  max-width: 100%;
  height: auto;
  margin-bottom: 10px;
}

.news-item__title,
.article-item__title {
  font-size: 20px;
  margin: 0 0 10px;
}

.news-item__excerpt,
.article-item__excerpt {
  margin: 0 0 10px;
}

.news-item__link:hover,
.article-item__link:hover {
  text-decoration: underline;
}

.news-item__date,
.article-item__date {
  margin: 0 0 10px;
}

.news-item__source,
.article-item__author {
  margin: 0 0 10px;
}

.news-item__content,
.article-item__content {
  margin: 0;
}

/* Статьи */
.article-column {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.article-item {
  display: flex;
  gap: 20px;
  padding: 15px;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  margin-bottom: 20px;
  border-radius: 10px;
}

.article-item__left {
  flex: 1;
}

.article-item__date {
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  color: #999; /* Серый для даты */
  display: block;
  margin-bottom: 5px;
}

.article-item__title {
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #000; /* Чёрный заголовок */
  margin: 0 0 10px 0;
}

.article-item__title a {
  color: #000;
  text-decoration: none;
}

.article-item__excerpt {
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #000; /* Чёрный текст */
  margin: 0;
}

.article-item__image {
  width: 150px;
  height: auto;
  object-fit: cover;
  flex: 1;
}

/* Таблица standings */
.standings-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  overflow: hidden;
  font-size: 14px;
}

.standings-card__header {
  padding: 10px;
  background: #f8f8f8;
  border-bottom: 1px solid #ddd;
}

.standings-card__title {
  margin: 0;
  font-size: 16px;
}

.standings-card__empty {
  padding: 15px;
  text-align: center;
  color: #666;
}

.standings-table__wrap {
  overflow-x: auto;
}

.standings-table {
  width: 100%;
  border-collapse: collapse;
}

.standings-table th,
.standings-table td {
  padding: 6px 8px;
  border-bottom: 1px solid #eee;
  text-align: left;
  white-space: nowrap;
}

.standings-table th {
  background: #fafafa;
  font-weight: bold;
  font-size: 13px;
}

.standings-table td {
  font-size: 13px;
}

.team-logo {
  width: 18px !important;
  height: 18px !important;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 6px;
}

/* Подсветка мест в таблице */
.col-rank {
  text-align: center;
  font-weight: 400;
  border-radius: 4px;
  padding: 2px 4px; /* компактнее */
  width: 15px;
  color: rgb(0, 0, 0);
}

.rank-ucl {
  background-color: #7fd498;
}

.rank-uel {
  background-color: #bbf3ff;
}

.rank-conf {
  background-color: #ffffbb;
  color: #000;
}

.rank-rel {
  background-color: #ffbbbb;
}

/* Адаптивность */
@media (max-width: 768px) {
  .featured-block {
    flex-direction: column;
    height: 710px; /* Убираем фиксированную высоту */
  }

  .featured-article,
  .featured-side {
    flex: 1 1 100%;
    height: auto;
  }

  .featured-article--side {
    height: 200px; /* Сохраняем высоту для единообразия */
  }

  .home-page__grid {
    grid-template-columns: 1fr; /* Один столбец на мобильных */
  }

  .article-item {
    flex-direction: column;
  }

  .article-item__image {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .home-page {
    padding: 10px;
  }

  .featured-article__title {
    font-size: 20px;
    bottom: 48px; /* Корректируем для меньшего шрифта */
  }

  .featured-article__excerpt {
    font-size: 14px;
    bottom: 8px; /* Корректируем отступ */
    height: 30px; /* Уменьшаем высоту для мобильных */
  }

  .article-item__title {
    font-size: 18px;
  }

  .article-item__excerpt {
    font-size: 14px;
  }
}
