Redirect specific URLs but not all based on their root

Don't know if anyone can help with this – it's pretty niche possibly!

I have a WooCommerce set up here... http://church-supplies.co.uk.s218979.gridserver.com/shop

The client I'm working for wanted a specific layout for the top level category pages which needed custom pages eg. http://church-supplies.co.uk.s218979.gridserver.com/communion-wine-and-wafers/

They then wanted a category list menu in the shop sidebar. That was quite straight forward.

However, they now want the top level links in this menu to link to the custom pages but for sub categories to link to the standard WooCommerce category page.

I'm trying to sort this redirects in htaccess but no matter what I do the sub categories end up linking too. For example if I redirect

/product-category/communion-wine-and-wafers/ to /communion-wine-and-wafers/ that works fine but then

/product-category/communion-wine-and-wafers/communion-wafers/ also forwards to /communion-wine-and-wafers/ whereas that should go to where it's supposed to.

Does that make sense?! It seems that my attempts to redirect not only redirect the specific URL but also any URLs that start with the same root.

Anyone got any ideas?!