/** * Shared row chrome for any `DevSectionPage` list (delivery, tickets, * future sections). One source of truth for the layout that every * dev-section card row uses: * left column → title (h3) / subtitle (h5 uppercase) / description * (h4 line-clamp-3), each in a fixed min-height block * so rows align across the grid * right column → caller-supplied stacked badges * * Surface stays small on purpose — `rightBadges` is a `ReactNode` so * the caller decides how many badges (delivery: 2, tickets: 1-2, * future: anything). No behavior baked in: the caller wraps the row * in a `
` (static, like delivery) or `