Stylesheet for specific page overwritten by standard css In my subtheme.info I have :

stylesheets[all][] = css/style.css


And in my template.php I have:

function subtheme_preprocess_page(&amp;$vars) {
    $path = current_path();

    if ($path == 'user/login') {
        drupal_add_css(drupal_get_path('theme', 'subtheme') . "/css/login.css");
    }
}


But when I load the page, my style.css is declared after my login.css. So my styles in login.css are overwritten by styles.css. How can I make sure the login.css is declared after the styles.css?
Add weight to the CSS:

drupal_add_css(drupal_get_path('theme', 'subtheme') . "/css/login.css", array('weight' =&gt; 100));


See the drupal_add_css() API page for more info. The group option may also be relevant as this also affects the weight.

Also if the specificity of a rule in style.css overrules a rule in login.css it won't matter what order the CSS files are included.