If you are using shiny elements, then bootstrap (the underlying css/js library used by shiny) is developed with responsiveness in mind. Shiny server outputs can be resized using relative and percentage width (e.g., width = 100% or height=50% as opposed to absolute units width=500px). However, this can get you so far as overriding bootstrap classes is a pain and may cause things to go wonky.
Alternatively, it's a lot of fun to design shiny apps using pure html and css, as well as vanilla js. However, it does take more time to develop. Responsive apps are possible by following semantic html rules, using browser ready layout systems (flex and css grid), and media queries. This may be the right way to go if you have branding and marketing guidelines to follow. Here are some links that you may want to checkout if you choose this way.
There are other design systems out there. Tailwind and Bulma come to mind. I think someone made a Bulma theme for shiny.
EDIT: Yes, there is a a Shiny Bulma package available. I haven't used it yet. Here's the link: https://github.com/RinteRface/shinybulma
Let me know if you have any further questions.