:root {
  --sidebar-bg: #000000;
  --card-bg: #000000;
  --card-border: rgba(255, 255, 255, 0.08);
  --title-color: #f5f7fa;
  --muted-color: #a5acb8;
  --section-title-color: #ffffff;
  --card-radius: 14px;
  --card-gap: 14px;
  --card-padding: 12px;
  --image-height: 120px;
  --hover-glow: rgba(88, 166, 255, 0.3);
  --card-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  --image-zoom-scale: 1.04;
  --sidebar-width: 360px;
}

.news-sidebar,
.news-sidebar__head,
.news-sidebar__title,
.news-sidebar__status,
.news-sidebar__list,
.news-card,
.news-card__media-wrap,
.news-card__media,
.news-card__body,
.news-card__title,
.news-sidebar__empty,
.news-sidebar__error {
  box-sizing: border-box;
}

.news-sidebar {
  width: min(100%, var(--sidebar-width));
  background: var(--sidebar-bg);
  border: 1px solid var(--card-border);
  border-radius: calc(var(--card-radius) + 4px);
  padding: 16px;
  box-shadow: var(--card-shadow);
}

.news-sidebar__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 14px;
}

.news-sidebar__title {
  margin: 0;
  font-size: 1rem;
  color: var(--section-title-color);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.news-sidebar__status {
  color: var(--muted-color);
  font-size: 0.75rem;
}

.news-sidebar__list {
  display: grid;
  gap: var(--card-gap);
}

.news-card {
  display: block;
  text-decoration: none;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  overflow: hidden;
  transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  will-change: transform;
}

.news-card:hover,
.news-card:focus-visible {
  border-color: var(--hover-glow);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42), 0 0 0 1px var(--hover-glow);
  outline: none;
}

.news-card__media-wrap {
  height: var(--image-height);
  overflow: hidden;
  background: #222936;
}

.news-card__media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.news-card:hover .news-card__media,
.news-card:focus-visible .news-card__media {
  transform: scale(var(--image-zoom-scale));
}

.news-card__body {
  padding: var(--card-padding);
}

.news-card__title {
  margin: 0;
  color: var(--title-color);
  font-size: 0.95rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  min-height: calc(1.4em * 2);
}

.news-sidebar__empty,
.news-sidebar__error {
  padding: 16px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted-color);
  font-size: 0.9rem;
}

@media (max-width: 767px) {
  .news-sidebar {
    width: 100%;
  }

  :root {
    --image-height: 240px;
  }
}
