We need to add support for:
  1. Minimum qualifying quantity A minimum number of qualifying products can be set per promo. Free gifts are only triggered once that minimum is met.
  2. Scaled gift logic Free gift quantities scale 1:1 with qualifying products in the cart. Scaling applies across all free gift types (or 100% discounts) in the promo.
  3. Spend thresholds Free gift tiers can be defined by spend amount. Each tier unlocks a different gift, with only one gift available per eligible transaction.
  4. Under-threshold behaviour If the cart doesn't meet the minimum quantity or spend threshold, the gift tier is not applied. Existing promos without these limits are unaffected.