[i-adj 〜い → 〜くなかった] [i-adj 〜い → 〜くなかった] + です [i-adj 〜い → 〜くありませんでした] いい → よくなかった
~くなかった is the negative past of an い-adjective: "was not". The final い becomes くなかった, and です after it keeps the sentence polite.
It is the negative くない put into the past. くない ends in い and changes the way an い-adjective does, so its い becomes かった: たかい高い → たかくない高くない → たかくなかった高くなかった.
The past is already in かった, so です stays です. じゃありませんでした is for nouns and な-adjectives.
Adjectives that end in いい do the same: かっこいい → かっこよくなかった.
These go beyond the basic polite form.
Without です the sentence is plain, for friends and family.
With あまり in front, it is "was not very".