Generally speaking there is a dress code for the a la carte restaurants at most hotels in Cuba.    For men smart casual is fine, therefore you should wear long trousers, collared shirts and shoes.     Shorts, even dress shorts, combat trousers, T shirts and flip flops are not acceptable.   Sandals and jeans are a grey area and may be accepted at some resorts whilst not at others.  Ideally shoes and long trousers should be worn.  Jackets are not required.

For the ladies, a suitable sun dress or skirt and blouse works well at the a la cartes.  

In most buffet restaurants shorts and T shirts are acceptable for men and for the ladies capris or shorts and a suitable top are fine.

Beachware should not be worn in any restaurant in the evening.  Men's hats and caps should not be worn in any restaurant, at any time. 

The dress code can vary from resort to resort and is not always strictly enforced, mainly due to not wanting to upset guests and cause a confrontation in the restaurant.   However it is always best to follow the rules rather than risk being turned away and having to return to your room to get changed.

Hotel Management of the 5 star Paradisus Rio de Oro in Guardalavaca have posted to say that the resort enforces the dress code at the Buffet & a la carte Restaurants, where long trousers are required for men in the evenings even in the Buffet restaurant, however men may wear sandals at the Buffet. Just to add and note: The Blau Varadero is quite particular with the dress code in their a la cartes. Men are to wear dress/casual pants with a collared dress shirt and shoes. They will refuse your reservation if you are not dressed appropriately . Buffets in the am are generally beach attire and appropriate cover ups . Evening buffets are casual/dressy (shorts, golf shirts, sandals, sundresses etc)