Override/ignore CSS from active theme as not to interfere with my custom CSS

You can make sure that your CSS is enqueued after your theme’s CSS and also make sure that your CSS is using rules that are more specific. This will help in making your CSS override the theme’s CSS.

Worse-case scenario you could add !important to a few CSS rules if you are having a hard time overriding your theme.

When you use wp_enqueue_style you should use the wp_enqueue_scripts hook, it offers a priority parameter. Here is an example.

function wpse_my_plugin_styles() {
    $plugin_url = plugin_dir_url( __FILE__ );
    wp_enqueue_style( 'my_styles',  $plugin_url . "/css/style.css");
}

add_action('wp_enqueue_scripts', 'wpse_my_plugin_styles', 999); 

You could also create a child theme. This would allow you to customize the CSS however you want and not worry about it getting wiped out if the plugin updates.

tech