Уместно разделить запятыми все определения, считая такие определения однородными.
Запятая нужна перед союзом и, чтобы разделить части сложносочиненного предложения.
Тире уместно, оно позволяет логически разделить части (члены) предложения.
Запятая нужна. Ею нужно разделить главную и придаточную части сложного предложения.