/* Card Component Styles */
.card {
  display: flex;
  flex-direction: column;
  background: var(--bg-primary);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  transition: box-shadow var(--transition-base);
}

.card[data-variant="elevated"]:hover {
  box-shadow: var(--shadow-lg);
}

.card[data-variant="bordered"] {
  border: var(--border-width) solid var(--border-color);
  box-shadow: none;
}

.card__header {
  padding: var(--spacing-lg);
  border-bottom: var(--border-width) solid var(--border-color);
}

.card__title {
  margin: 0;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--text-primary);
}

.card__body {
  padding: var(--spacing-lg);
  flex: 1;
  color: var(--text-secondary);
}

.card__footer {
  padding: var(--spacing-md) var(--spacing-lg);
  background-color: var(--bg-secondary);
  border-top: var(--border-width) solid var(--border-color);
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-sm);
}

.card__footer:empty {
  display: none;
}
