We also don't really have a good equivalent for "hot." The direct translation would be "quente," but that's too strongly associated with temperature. Usually, we use "gostoso(a)," but in English, that's closer to "tasty" or "delicious."
Fofo in Spanish means "almost empty inside" in the sense of "very low density", applied to a person means "fatty" as someone who has lost the muscular mass and simply hangs. As for "bonito", you can either use it for a person, a flower or a performance.