Let’s go back to trying CSS solutions. Because of your site’s caching, we cannot tell where your rules are coming from, but somewhere there’s this:
.home.blog .site-header, .home.page:not(.page-template-template-homepage) .site-header, .home.post-type-archive-product .site-header, .no-wc-breadcrumb .site-header {
margin-bottom: 4.2358em;
}
The layout may be different, but the content is correct. Try changing the 4.2358em to 0 (zero not the letter O). This will get it a lot closer but there’s still a gap. Be sure this change does not adversely affect other pages. If it does, you’ll need a more specific overriding rule declared after this one.
If you’d rather have no gap at all, adding the following rule will align it flush with the bottom of the header.
.entry-content > div {
margin-top: -12px;
}
To close up the space at the footer, locate this rule:
.hentry {
margin: 0 0 4.2358em;
}
You can change 0 0 4.2358em to simply 0, or edit 4.2358 to any number that suits.
Once again, be sure this change does not affect other pages in an adverse manner.
If you have trouble finding these rules, if you disable caching, at least for this one page if possible, we can tell you where the rules occur. Without caching, you can likely find them yourself by using your browser’s developer tools. BTW, this tool is how I’ve arrived at my suggestions ??
If any of these rules come from your parent theme, copy the entire rule to your child theme and edit the child’s version. This should override the parent’s rules because they load later. If not, you may need to add the !important keyword to the style. This is generally a bad practice, but sometimes there is not a good alternative.
If your theme has an area in its settings to add custom CSS, try adding the rules there. These rules are often given very high precedence. There’s is also a custom CSS plugin that allows adding rules without the need to edit theme files. You may want to try this plugin if the other approaches are troublesome.