Orbit around orbiting object (transform.RotateAround)

The best way to explain this is I’m attempting to make a small model solar system. There’s a sun, a planet, and that planet’s moon. The planet orbits like normal, however the moon orbiting around the planet shoots off and makes an extremely large and far-away orbit.

My code is as follows:

public class RotateAndOrbit : MonoBehaviour {
	public Transform target;
	public float RotationSpeed = 100f;
	public float OrbitDegrees = 1f;
	void Update () {
		transform.Rotate(Vector3.up, RotationSpeed * Time.deltaTime);
		transform.RotateAround(target.position, Vector3.up, OrbitDegrees);
	}
}

I’m not sure how to compensate for this or even what my mistake is called, but any help would be appreciated.

There’s an alternative method, can give you just a hint.
You can place your moon in a empty game object, place the EGO in the place of the planet and place the moon relatively in a place, where the EGO rotates around itself, the moon being a child will rotate around… hope it helps