Design a SQL query that retrieves the total sales amount per product category for a given date range, given tables "product", "category", "order", and "order_item". Include only categories with at least 10 orders during the specified period.

SELECT c.category_id, c.name, SUM(oi.quantity * oi.price) as total_sales
FROM category c
JOIN product p ON c.category_id = p.category_id
JOIN order_item oi ON p.product_id = oi.product_id
JOIN `order` o ON oi.order_id = o.order_id
WHERE o.order_date BETWEEN 'start_date' AND 'end_date'
GROUP BY c.category_id, c.name
HAVING COUNT(DISTINCT oi.order_id) >= 10
ORDER BY total_sales DESC;