/* ── Filter bar ──────────────────────────────────── */
.news-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--space-8);
}
.news-filter-btn {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  padding: 6px 16px;
  border-radius: 100px;
  cursor: pointer;
  background: var(--color-surface);
  border: 1px solid var(--color-rule);
  color: var(--color-text-2);
  transition: border-color 0.15s, color 0.15s, background 0.15s;
  letter-spacing: 0.01em;
}
.news-filter-btn:hover {
  border-color: var(--color-sky);
  color: var(--color-text-1);
}
.news-filter-btn.active {
  background: rgba(14,165,233,0.1);
  border-color: rgba(14,165,233,0.35);
  color: var(--color-sky);
}

/* ── Year divider ────────────────────────────────── */
.news-year {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: var(--weight-black);
  letter-spacing: -0.02em;
  color: var(--color-text-3);
  margin: var(--space-10) 0 var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-rule);
}
.news-year:first-of-type { margin-top: 0; }

/* ── News item card ──────────────────────────────── */
.news-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
a.news-item {
  display: block;
  text-decoration: none;
  color: inherit;
}
.news-item {
  background: var(--color-surface);
  border: 1px solid var(--color-rule);
  border-radius: var(--radius-xl);
  padding: var(--space-5) var(--space-6);
  transition: border-color 0.15s;
  cursor: pointer;
}
.news-item:hover { border-color: var(--color-sky); }

.news-meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
  flex-wrap: wrap;
}
.news-date {
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  color: var(--color-text-3);
}
.news-cat {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 10px;
  border-radius: 100px;
}
.cat-release { background: rgba(37,99,235,0.1);  color: #2563EB; border: 1px solid rgba(37,99,235,0.2); }
.cat-media   { background: rgba(245,158,11,0.1); color: var(--color-amber); border: 1px solid rgba(245,158,11,0.2); }
.cat-speaking{ background: rgba(16,185,129,0.1); color: #10B981; border: 1px solid rgba(16,185,129,0.2); }
.cat-product { background: rgba(168,85,247,0.1); color: var(--color-violet); border: 1px solid rgba(168,85,247,0.2); }
.cat-award   { background: rgba(14,165,233,0.1); color: var(--color-sky); border: 1px solid rgba(14,165,233,0.2); }
.cat-advisory{ background: rgba(99,102,241,0.1); color: #6366F1; border: 1px solid rgba(99,102,241,0.2); }

[data-theme="light"] .cat-release  { background: rgba(37,99,235,0.08);  }
[data-theme="light"] .cat-media    { background: rgba(245,158,11,0.08); }
[data-theme="light"] .cat-speaking { background: rgba(16,185,129,0.08); }
[data-theme="light"] .cat-product  { background: rgba(168,85,247,0.08); }
[data-theme="light"] .cat-award    { background: rgba(14,165,233,0.08); }
[data-theme="light"] .cat-advisory { background: rgba(99,102,241,0.08); }

.news-title {
  font-size: var(--text-2xl);
  font-weight: var(--weight-bold);
  color: var(--color-text-1);
  line-height: 1.4;
  margin-bottom: var(--space-1);
}
.news-summary {
  font-size: var(--text-sm);
  color: var(--color-text-2);
  line-height: 1.65;
}
.news-source {
  font-size: var(--text-xs);
  color: var(--color-text-3);
  margin-top: var(--space-2);
  font-style: italic;
}
