The title pretty much describes the question. In Wordpress it is easy to customize the layout of a post/page by using child theme. I wonder how to do so for a CiviComponent, say, contribution page.
You can setup a custom template directory (Administer > System Settings > Directories > Custom Template Directory) and add code to a Main.extra.tpl (the directory is (your_path/CRM/Contribute/Form/Contribution/Main.extra.tpl) and also see this Styling Contribution pages with buttons.
Or use an extension which is a preferred way: https://docs.civicrm.org/dev/en/latest/framework/templates/customizing/.
You can also add a custom style sheet for civi under Administer > System Settings > Resource URL's > Custom CSS URL for global styling changes. Conversely, if you want your theme to handle styling then configure CiviCRM Admin Utilities which will give you an option on disabling civicrm.css on the front-end.