I think that it might be easier to use a calculation to add in this extra charge. You would want to have another column in your cart for a dark color type. When any of the dark colors are selected you could set this column to have a particular value to indicate so like 1.
If you had it setup like this you could alter the total price calculation to look at this column and if it is set to the value then use the price + 3 then multiply by the quantity or else just multiply the price by the quantity. It might look like this:
abs(DarkColor == 1)?(([Price] + 3) * [Quantity]):([Price] * [Quantity])