I took too long in the shower.

(Is this grammatical? What is the part of speech of 'long'? Is 'long' a noun?)

The sentence "I took too long in the shower" is grammatically correct. In this sentence, "long" is an adjective, which describes the duration or duration of an action. It answers the question "How much time?" In this case, it describes how much time was spent in the shower. Adjectives modify nouns or pronouns, so "long" modifies the pronoun "too."