Feu is uncountable, hence the partitive "du".
We light a cigarette with a flame produced by a match or a lighter and to us it is "some fire".
"Un feu" = a fire (for firemen to take care of, or the fire you make in your chimney)
"Une lumière" = a natural or electric light/lightning; + figurative "bright spirit"
Yes, it's true: "je m'arrête à un feu rouge/vert" = I stop at a red/green light
Yes, true in both France (from what I understand) and in Canadian French (from personal experience).
Because it is not a precise translation. "Do you have a light?" is the English that means, in essence, "Can you light my cigarette?" In French, in that situation, one says, "Tu as du feu?"
feu = fire, but whereas the French say "tu as du feu ?", the English do not use the word "fire" to mean it, but "light" (or lighter = un briquet).
why is it not "tu as un feu"? I typed "you have light" because "you have some light didn't make as much sense to me"
there is no "un feu" since there isn't a "single" light. its more desirable to use "du feu" as in some light since its an uncountable noun
Why won’t it accept “Do you have light?” as a translation? Just because it doesn’t sound that good in English?
No one would understand what you meant. You would appear to be asking if the other person is in a brightly-lit place or in the dark, whereas both the English and the French sentences here are asking for the means to light a cigarette (or cigar or whatever).
Actually, what I meant "do you have a light?" it does mean asking for a cigarette lighter, seen in movies and heard in actual conversations