In a repeating item structured inside a CSS grid I have a div whose visibility I want to be able to toggle (from a checkbox for now, but something that looks more like a button at some point). I've played with the examples on the CSS Wizardry page and some other references I've found here on the forum, but the ones I've found all seem to be predicated on using CSS combinators to refer to sibling or child elements of the calling checkbox/button/whatever. Unfortunately the area to toggle is a sibling of the parent of the button - which CSS apparently doesn't have a direct method to address. Is there a way to do this without having to rethink my whole layout? < fieldset class = "repeating_powers" > < div class = "powers-grid-container" > < div class = "cps" >< input type = "number" name = "attr_ability_cost" title = "ability_cost" value = "0" /></ div > < div class = "power-desc" >< input class = "power-desc" type = "text" name = "attr_ability_desc" title = "ability_desc" /></ div > < div class = "ips" >< input type = "number" name = "attr_ip_cost" title = "ip_cost" value = "0" /></ div > < div class = "actions" > < input type = "checkbox" name = "attr_options-flag" class = "stats-toggle" > < button type = "roll" name = "roll_power_desc" value = "&{template:powerdesc} {{desc=@{ability_desc}}}" class = "tochat" ></ button > </ div > < div class = "stat-mods" > Contents of the toggle-able div, removed for brevity </ div > </ div > </ fieldset > .sheet-powers-grid-container { display : grid ; grid-gap : 3px ; grid-template-columns : 75px 505px 75px 75px ; grid-template-columns : auto ; grid-template-areas : "cps power-desc ips actions" "... stat-mods stat-mods ..." ; } .sheet-powers-grid-container .sheet-cps { grid-area : cps; } .sheet-powers-grid-container .sheet-power-desc { grid-area : power-desc; } .sheet-powers-grid-container .sheet-ips { grid-area : ips; } .sheet-powers-grid-container .sheet-actions { grid-area : actions; } .sheet-powers-grid-container .sheet-stat-mods { grid-area : stat-mods; } .sheet-stat-mods { border : 1px dashed black ; margin-bottom : 3px ; } /* what to do here? */ input.sheet-stats-toggle:not ( :checked ) ~ div.sheet-stat-mods { display : none ; }