/**
 * Component: Cards
 */

.card {
  background: var(--sf-surface);
  border: 1px solid var(--sf-border);
  border-radius: var(--sf-radius-lg);
  padding: var(--sf-space-6);
  box-shadow: var(--sf-shadow-sm);
  transition: box-shadow var(--sf-duration-base) var(--sf-ease), transform var(--sf-duration-base) var(--sf-ease);
}

.card--interactive {
  text-decoration: none;
  color: inherit;
  display: block;
}
.card--interactive:hover {
  box-shadow: var(--sf-shadow-lg);
  transform: translateY(-2px);
}

.card__eyebrow {
  font-family: var(--sf-font-mono);
  font-size: var(--sf-text-xs);
  color: var(--sf-indigo);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: var(--sf-space-2);
  display: block;
}

.card__title {
  font-size: var(--sf-text-xl);
  margin-bottom: var(--sf-space-2);
}

.card__body {
  color: var(--sf-slate-600);
  font-size: var(--sf-text-sm);
}

.card__media {
  border-radius: var(--sf-radius-md);
  overflow: hidden;
  margin-bottom: var(--sf-space-4);
  aspect-ratio: 16 / 9;
  background: var(--sf-indigo-50);
}
.card__media img { width: 100%; height: 100%; object-fit: cover; }

.card__footer {
  margin-top: var(--sf-space-5);
  padding-top: var(--sf-space-4);
  border-top: 1px solid var(--sf-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--sf-text-xs);
  color: var(--sf-slate-400);
}

.card--flat {
  box-shadow: none;
  border: 1px solid var(--sf-border);
}

.card--on-dark {
  background: var(--sf-ink-soft);
  border-color: rgba(255, 255, 255, 0.08);
  color: var(--sf-on-ink);
}
.card--on-dark .card__body { color: var(--sf-on-ink-muted); }
