House of cards (version 2)
Charcoal, 67 bytes

Ｎθ⁼θ¹Ａ²ηＷ¬‹θη«←÷η³↓→/…\/÷η³↙Ａ⁻θηθＡ⁺³ηη»‖ＭＭ÷η³→Ｆθ≡﹪ι³¦¹«↗←\/»²«↑Ｐ²»«


Try it online! Note: The latest version of Charcoal doesn't need the »« for -2 bytes. Explanation:

Ｎθ


Read the input as an integer into θ.

⁼θ¹


Special case: if the input is 1, print a -.

Ａ²ηＷ¬‹θη«


η represents the number of cards needed to build the next layer, initially 2. A while loop repeats as long as there are enough cards for the layer.

←÷η³↓→/…\/÷η³↙


Print the left half of the next layer. (I wanted to print the right half, but I couldn't get it to reflect properly for some reason.) The number of -s is one third of the number of cards in the layer, rounded down. (See also my answer to part 1.)

Ａ⁻θηθＡ⁺³ηη»


Subtract the number of cards from the input number, and add three cards to the number required for the next layer.

‖Ｍ


Mirror the house so far. (This also turns the - into -- for the case of 1 card.)

Ｍ÷η³→


Move the cursor to the right of the house.

Ｆθ


Repeat for each remaining card (if any).

≡﹪ι³¦


If the card modulo 3 is:

¹«↗←\/»


1, then print a pair of cards;

²«↑Ｐ²»


2, then print a horizontal card;

«


Otherwise skip the card (because a pair is needed at this point).