You can obtain what you need without using javascript and leaving the html structure in your document just as it is by simply adding a new CSS rule, making use of the :has() relational pseudo-class which is being supported by all major browsers since the end of 2023 at least (see).
Remember, you'll have to always start your CSS rules from the ".menu-wrap class <div>" to look into for a match when the "#link1 <input>" is checked, and then go on to the ".content-wrap class <div>" to look at for the "#link1-content <input>", 'cause those are the elements at the right level of the DOM tree from where you can "move back and forth" for the matching in the case here.
.menu-wrap:has(#link1:checked) ~ .content-wrap #link1-content { display: none;}
<div class="wrapper"> <div class="menu-wrap"> <ul> <li> <input type="radio" id="link1" /> </li> </ul> </div> <div class="content-wrap"> <div id="link1-content"><p>Just a paragraph</p></div> </div> </div>
So here the needed CSS rule is:
.menu-wrap:has(#link1:checked) ~ .content-wrap #link1-content { display: none;}
P.S. Just let me note that maybe an <input> of type checkbox would make more sense than a radio one here IMHO...