In my opinion all things that can be ordered should be treated the same, so you'd have a table of orders, a table of items (this can include cars), and a table of categories (cars, parts, gifts etc)
orders --< order_lines --- items >--- categories orders:order_id, customer_id, date
order_lines: order_line_id, order_id, item_id
items: item_id, name, description, weight, price
categories: category_id, name, description
From a data point of view this should be cleaner; if you need to store different information about items you can always add another table in with info specific to that category (ie engine size, number of seats etc)