What’s the recommended approach to avoid conflicts between different styles?
Hi. Using different template styles makes sense only if you need different layouts (the Layout tab). In all other cases, use only one template style, custom classes, and CSS.
For example, if you need different header height add your class for the page in the menu item settings.

And use the following code in your custom.css file.
.your-class #sp-header,
.your-class #sp-header .logo,
.your-class #offcanvas-toggler {
height: 100px;
}
.your-class .sp-megamenu-parent > li > a,
.your-class .sp-megamenu-parent > li > span {
line-height: 100px;
}
/* For mobile devices */
@media (max-width: 991.98px) {
.your-class #sp-header,
.your-class #sp-header .logo,
.your-class #offcanvas-toggler {
height: 60px;
}
.your-class .sp-megamenu-parent>li>a,
.your-class .sp-megamenu-parent>li>span {
line-height: 60px;
}
}
Or more compact using variable
:root {
--header-height: 100px;
}
.your-class #sp-header,
.your-class #sp-header .logo,
.your-class #offcanvas-toggler {
height: var(--header-height);
}
.your-class .sp-megamenu-parent > li > a,
.your-class .sp-megamenu-parent > li > span {
line-height: var(--header-height);
}
/* For mobile devices */
@media (max-width: 991.98px) {
:root {
--header-height: 60px;
}
}