# Bento Card

> Bento grid cells that lift and invite.

A visual above, title below; on hover the visual lifts and a 'learn more' arrow slides in. Spans columns and rows; stacks on phones. Comes with BentoGrid.

- Family: Cards
- Plan: Creative. Included with Creative.
- Requires: React, Tailwind CSS v4 and the motion package
- Page with a live preview: https://galactrex.com/ui/bento-card/
- Licence: https://galactrex.com/ui/license/

## Install

```sh
npx @galactrex/ui login   # once, with an API key from https://galactrex.com/account/
npx @galactrex/ui add bento-card
```

It installs to `components/galactrex/bento-card.tsx`, with the shared motion helpers beside it. First time in a project: `npx @galactrex/ui init` (setup guide: https://galactrex.com/docs/ui-components-setup/).

## Usage

```tsx
import { BentoCard } from "@/components/galactrex/bento-card";

<BentoGrid><BentoCard title="Layers" span={{ cols: 2, rows: 2 }} visual={…} /></BentoGrid>
```

## Props

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `title / description` | `string` | — | Text. |
| `visual` | `ReactNode` | — | Fills the cell. |
| `span` | `{ cols?: 1–4; rows?: 1–3 }` | — | Size in the grid. |
| `href` | `string` | — | Makes the whole card one link. |
| `className` | `string` | — | Extra classes for the outer element. |

## Variants

- **Feature grid.** Mixed spans in a BentoGrid.

## Accessibility

- One link per cell with href.

## Motion

- Variants on hover and focus.
- Reduced motion: still.
