.app-body .card {
  --bs-card-spacer-y: 1.25rem;
  --bs-card-spacer-x: 1.25rem;
  border-color: var(--surface-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--surface-shadow);
}

a.card {
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

a.card:hover {
  border-color: var(--bs-primary-border);
  box-shadow: var(--surface-shadow-hover);
  transform: translateY(-2px);
}

a.card:focus-visible {
  outline: 0;
  box-shadow: var(--focus-ring), var(--surface-shadow-hover);
}

/* Grid children of a card body may shrink below their content width; otherwise truncated text
   (e.g. `.text-truncate` in a list) widens the card beyond its column. */
.card-body.d-grid > * {
  min-width: 0;
}
