.article-card {
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease-in-out;
  background-color: #ffffff;
}

.article-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

.article-card .card-title a {
  color: #333;
  text-decoration: none;
  font-weight: 600;
}

.article-card .card-title a:hover {
  color: #007bff;
}

.source-badge {
  font-size: 0.8rem;
  font-weight: 500;
  padding: 0.3em 0.6em;
  border-radius: 4px;
  background-color: #f0f0f0;
  color: #555;
  border: 1px solid #ddd;
}

.category-badge {
  color: white;
  font-weight: 500;
}

.keyword-cloud .badge {
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #e9ecef !important;
  color: #495057 !important;
  border: 1px solid #ced4da;
  transition: all 0.2s;
}

.keyword-cloud .badge:hover {
    background-color: #d8dde2 !important;
    cursor: pointer;
}

.sentiment-positive {
    color: #28a745;
}

.sentiment-neutral {
    color: #6c757d;
}

.sentiment-negative {
    color: #dc3545;
}
