Any recommendations for the sampling steps or seed?
Steps are something you need to experiment with; there's usually diminishing or no returns beyond a certain point but that point depends on the sampler. Euler a/Euler is usually good around 30, but might improve up to 50 or 60. DPM adaptive is slow but can get great results with just 10 or 20 steps, and usually doesn't improve beyond 40 or so.
Seeds are something you gotta mine for, nobody can guess what seeds will work well with a given prompt. It's the RNG seed used for noise generation etc which your image is resolved from. Do batch jobs to get a bunch of outputs (probably with low-ish step counts for speed), and if you like one in particular copy its seed and try more steps/tweaks on that.
I highly recommend turning on "save txt files with full parameters" or whatever its called in the settings tab so that you can easily grab old seeds/prompts, although I think that's less necessary now that the History tab has been implemented.
CFG scale is more what you should be thinking about fiddling with. 5.5 or 11 are good loose values, I also usually try 20, 25, 28 and even 30 with carefully-composed prompts. Results can vary a lot by sampler as well; often there are a couple of key points where different CFG ranges will give you distinctly different images--and these can be similar between samplers but converge at different scales (Euler a is fairly linear, Euler gets stuck at the shallow end, and DPM adaptive speedruns convergence while also being great at sorting out anatomy, to use the examples I gave. But DPM2 Karras and others can also give great results depending on style).
To find these sweet spots you can try X/Y plots with whatever combination of steps, CFG scales, or samplers you want to compare. Enter comma-separated values or ranges you want to try. For example, CFG = "5,5.5,6,6.5,7" is the same as "5-7(+0.5)". For testing things like samplers/model checkpoints it's simply a list of sampler names (copy/paste from the radio list) or model ckpt filenames minus the ".ckpt".
If you have a seed entered it'll use that for all tests, if you have -1 entered it'll pick a random one and use that for all of them. If you check "keep -1 for seeds" it'll make them all random. It's less good for direct comparisons but I actually use that a lot because I prefer X/Y grids over batch jobs when experimenting.