/* Entity Base Styles */
/* Shared styles for Channel and Video entities */

.entity-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  cursor: pointer;
  transition: transform var(--transition-fast);
}

.entity-card.focused {
  z-index: 10;
}

.entity-thumbnail-container {
  position: relative;
  overflow: hidden;
  background-color: var(--color-surface);
}

.entity-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity var(--transition-fast);
}

.entity-card:hover .entity-thumbnail {
  opacity: 0.9;
}

.entity-info {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.entity-title {
  font-size: 1.458vw;           /* 28px at 1920px (2x) */
  font-weight: 500;
  color: var(--color-text-primary);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.entity-stats {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  font-size: 1.25vw;            /* 24px at 1920px (2x) */
  color: var(--color-text-secondary);
}

.entity-stat {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}

.entity-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.185vh 0.313vw;     /* 2px vertical at 1080p, 6px horizontal at 1920px */
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  font-size: 1.042vw;           /* 20px at 1920px (2x) */
  font-weight: 600;
  text-transform: uppercase;
}
