GtkIconView.cell:selected,
GtkIconView.cell:selected:focus {
    background-color: alpha(@theme_base_color, 0.0);

    border-style: solid;
    border-radius: 10px;
    border-width: 3px;
    border-color: #d3d7cf;

    /* FIXME: this probably needs to be better;
     * see https://bugzilla.gnome.org/show_bug.cgi?id=644157
     */
    outline-color: alpha(@theme_text_color, 0.4);
    outline-style: dashed;
    outline-offset: 5px;
}

.button,
GtkComboBox {
    text-shadow: 0 -1px @button_text_shadow;
}

.button *:active,
GtkComboBox *:active {
    text-shadow: 0 1px @button_active_text_shadow;
    color: @theme_selected_bg_color; /* Not sure about this one */
}

.button *:active:insensitive,
GtkComboBox *:active:insensitive {
    text-shadow: none;
    color: @insensitive_fg_color;
}

.toolbar .button.raised *,
.toolbar .raised .button *,
.inline-toolbar .button * {
    text-shadow: 0 -1px @button_text_shadow;
    icon-shadow: 0 -1px @button_text_shadow;
}

.toolbar .button.raised *:active,
.toolbar .raised .button *:active,
.inline-toolbar .button *:active {
    text-shadow: 0 1px @button_active_text_shadow;
    icon-shadow: 0 1px @button_active_text_shadow;
}

.toolbar .button.raised *:insensitive,
.toolbar .raised .button *:insensitive,
.inline-toolbar .button *:insensitive {
    text-shadow: none;
    icon-shadow: none;
}

.toolbar .button.raised *:backdrop,
.toolbar .raised .button *:backdrop,
.inline-toolbar .button *:backdrop {
    text-shadow: none;
    icon-shadow: none;
}

column-header.button,
column-header .button {
    text-shadow: none;
}

GtkTreeMenu .menuitem,
.button .menuitem,
.toolbar .button .menuitem * {
    text-shadow: none;
}

.spinbutton .button {
    icon-shadow: none;
}

.button .separator,
.button .separator:prelight {
    color: alpha (@theme_text_color, 0.1);
}

GtkScale.trough:insensitive:backdrop { /* not working */
    background-color: transparent;
}

GtkSwitch.slider {
    background-image: url("assets/switch-slider-grip-dark.svg"),
                      -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@theme_bg_color),
                                     to (@switch_slider_color));

    background-repeat: no-repeat;
    background-position: center;

    border-color: mix (@borders, black, 0.4);
    box-shadow: inset 0 -1px alpha(white, 0.04), 
                inset 0 1px shade(@theme_bg_color, 1.1),
                inset 0 2px alpha(@borders, 0.2);
}

.scrollbar.trough.vertical {
    box-shadow: none;
}

.scrollbar.trough.horizontal {
    box-shadow: none;
}

.primary-toolbar .toolbar,
.primary-toolbar.toolbar {
    box-shadow: inset 0 3px alpha(black, 0.05),
                inset 0 2px alpha(black, 0.05),
                inset 0 1px alpha(black, 0.05);
}

.entry:focus {
    box-shadow: inset 2px 2px alpha(lighter(@theme_selected_bg_color), 0.2),
                inset -2px -2px alpha(lighter(@theme_selected_bg_color), 0.2),
                inset 1px 1px alpha(lighter(@theme_selected_bg_color), 0.7),
                inset -1px -1px alpha(lighter(@theme_selected_bg_color), 0.7);
}

GtkComboBox.combobox-entry .entry:focus:first-child {
    box-shadow: inset 2px 2px alpha(lighter(@theme_selected_bg_color), 0.2),
                inset -1px -2px alpha(lighter(@theme_selected_bg_color), 0.2),
                inset 1px 1px alpha(lighter(@theme_selected_bg_color), 0.7),
                inset 0 -1px alpha(lighter(@theme_selected_bg_color), 0.7);
}

GtkComboBox.combobox-entry .entry:focus:last-child {
    box-shadow: inset 1px 2px alpha(lighter(@theme_selected_bg_color), 0.2),
                inset -2px -2px alpha(lighter(@theme_selected_bg_color), 0.2),
                inset 0 1px alpha(lighter(@theme_selected_bg_color), 0.7),
                inset -1px -1px alpha(lighter(@theme_selected_bg_color), 0.7);
}

.spinbutton .button:active {
    box-shadow: inset 1px 0 @inset_dark_color,
                inset 0 2px alpha(lighter(@theme_selected_bg_color), 0.2),
                inset 0 -2px alpha(lighter(@theme_selected_bg_color), 0.2), 
                inset 0 1px alpha(lighter(@theme_selected_bg_color), 0.7), 
                inset 0 -1px alpha(lighter(@theme_selected_bg_color), 0.7);
}

.spinbutton .button:first-child:active {
    box-shadow: inset 2px 2px alpha(lighter(@theme_selected_bg_color), 0.2), 
                inset 0 -2px alpha(lighter(@theme_selected_bg_color), 0.2), 
                inset 1px 1px alpha(lighter(@theme_selected_bg_color), 0.7), 
                inset 0 -1px alpha(lighter(@theme_selected_bg_color), 0.7);
}

.spinbutton .button:last-child:active {
    box-shadow: inset 1px 0 @inset_dark_color, 
                inset 0 2px alpha(lighter(@theme_selected_bg_color), 0.2), 
                inset -2px -2px alpha(lighter(@theme_selected_bg_color), 0.2), 
                inset 0 1px alpha(lighter(@theme_selected_bg_color), 0.7),
                inset -1px -1px alpha(lighter(@theme_selected_bg_color), 0.7);
}

.spinbutton.vertical .button {
    icon-shadow: 0 -1px @button_text_shadow;
}

.spinbutton.vertical .button:active {
    icon-shadow: 0 1px @button_active_text_shadow;
}

.spinbutton.vertical .button:backdrop {
    icon-shadow: none;
}

GtkColorSwatch,
GtkColorSwatch:selected,
GtkColorSwatch:hover,
GtkColorSwatch:selected:hover,
GtkColorEditor GtkColorSwatch.color-dark:hover,
GtkColorEditor GtkColorSwatch.color-light:hover {
    border-color: @borders;
    box-shadow: inset 0 2px alpha(black, 0.15), inset 1px 1px alpha(black, 0.15);
}

GtkColorSwatch.color-dark:hover {
    background-image: linear-gradient(to bottom,
                                      alpha(white, 0) 40%,
                                      alpha(white, 0.2)
                                      );

}

GtkColorSwatch.color-light:hover {
    background-image: linear-gradient(to top,
                                      alpha(black, 0) 40%,
                                      alpha(black, 0.3)
                                      );

}

GtkColorSwatch:backdrop,
GtkColorSwatch:backdrop:selected {
    border-color: @unfocused_borders;
}

GtkColorSwatch:backdrop:hover {
    border-color: @unfocused_borders;
    background-image: none;
    box-shadow: none;
}

GtkColorChooserWidget #add-color-button,
GtkColorChooserWidget #add-color-button:hover {
    color: @theme_bg_color;
}

.color-active-badge.color-light:backdrop {
    border-color: #444444;
    color: #444444;
}

.color-active-badge.color-dark:backdrop {
    border-color: #cccccc;
    color: #cccccc;
}

GtkColorEditor GtkColorSwatch.color-dark:hover,
GtkColorEditor GtkColorSwatch.color-light:hover {
    background-image: none;
    border-color: @unfocused_borders;
}

.selection-mode.header-bar .button *,
.selection-mode.header-bar .button *:active,
.selection-mode.toolbar .button *,
.selection-mode.toolbar .button *:active,
.selection-mode.toolbar GtkToolButton .button *,
.selection-mode.toolbar GtkToolButton .button *:active {
    text-shadow: 0 -1px @selection_toolbar_button_shadow;
    icon-shadow: 0 -1px @selection_toolbar_button_shadow;
}

.selection-mode.header-bar .suggested-action.button *,
.selection-mode.header-bar .suggested-action.button *:active,
.selection-mode.toolbar .suggested-action.button *,
.selection-mode.toolbar .suggested-action.button *:active,
.selection-mode.toolbar GtkToolButton.suggested-action .button *,
.selection-mode.toolbar GtkToolButton.suggested-action *:active {
    text-shadow: 0 -1px @button_text_shadow;
    icon-shadow: 0 -1px @button_text_shadow;
}
