/* Borders */

/* generic element borders */
.entry,
GtkComboBox.combobox-entry .entry,
GtkComboBox.combobox-entry .button,
.button:active,
.button:insensitive,
.button.default:insensitive,
.spinbutton.vertical .button:active,
.spinbutton.vertical .button:insensitive,
.inline-toolbar.toolbar.vertical .button:active,
.inline-toolbar.toolbar.vertical .button:insensitive,
.inline-toolbar.toolbar.vertical .button.default:insensitive,
.trough,
.trough.highlight,
GtkSwitch.trough,
GtkSwitch.trough:active:insensitive,
.titlebar .titlebutton:hover, 
.titlebar .titlebutton:active {
    border-image: -gtk-scaled(url("borders/generic-border.png"),url("borders/generic-border@2.png")) 3 3 4 3 / 3px 3px 4px 3px stretch;
    border-radius: 3px;
    border-width: 1px 1px 2px 1px;
    border-style: solid;
    border-color: transparent;
}

.trough row {
    border-image: -gtk-scaled (url("borders/nohl-generic-border.png"),url("borders/nohl-generic-border@2.png")) 3 / 3px stretch;
    border-radius: 3px;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
}

/* focused element borders */
.entry:focus,
GtkComboBox.combobox-entry .entry:focus,
.button.default:active,
.inline-toolbar.toolbar.vertical .button.default:active,
GtkSwitch.trough:active { 
    border-image: -gtk-scaled(url("borders/generic-border-focused.png"),url("borders/generic-border-focused@2.png")) 3 3 4 3 / 3px 3px 4px 3px stretch;
    border-radius: 3px;
    border-width: 1px 1px 2px 1px;
    border-style: solid;
    border-color: transparent;
}

/* generic button borders */
.button,
.spinbutton.vertical .button,
.inline-toolbar.toolbar.vertical .button {
    border-image: -gtk-scaled(url("borders/button-border.png"),url("borders/button-border@2.png")) 3 3 4 3 / 3px 3px 4px 3px stretch;
    border-radius: 3px;
    border-width: 1px 1px 2px 1px;
    border-style: solid;
    border-color: transparent;
}

/* focused button borders */
.button.default { 
    border-image: -gtk-scaled(url("borders/button-border-default.png"),url("borders/button-border-default@2.png")) 3 3 4 3 / 3px 3px 4px 3px stretch;
    border-radius: 3px;
    border-width: 1px 1px 2px 1px;
    border-style: solid;
    border-color: transparent;
}

/* tooltip elements borders */
.tooltip .entry,
.tooltip .button {
    border-image: -gtk-scaled (url("borders/tooltip-generic-border.svg"),url("borders/tooltip-generic-border@2.png")) 3 / 3px stretch;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
}

/* tooltip focused elements borders */
.tooltip .entry:focus {
    border-image: -gtk-scaled (url("borders/tooltip-generic-border-focused.svg"),url("borders/tooltip-generic-border-focused@2.png")) 3 / 3px stretch;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
}

/* primary toolbar - generic element borders */
.primary-toolbar .entry,
.primary-toolbar GtkComboBox.combobox-entry .entry,
.primary-toolbar GtkComboBox.combobox-entry .button,
.primary-toolbar .button:active,
.primary-toolbar .button.raised:active,
.primary-toolbar .raised .button:active,
.primary-toolbar .button.raised:insensitive,
.primary-toolbar .raised .button:insensitive,
.primary-toolbar .button.raised.default:insensitive,
.primary-toolbar .raised .button.default:insensitive,
.inline-toolbar.toolbar .button.default:insensitive,
.inline-toolbar.toolbar .button:active,
.inline-toolbar.toolbar .button:insensitive,
.primary-toolbar GtkSwitch.trough,
.primary-toolbar GtkSwitch.trough:insensitive,
.primary-toolbar GtkSwitch.trough:active:insensitive,
.primary-toolbar GtkComboBox .button:active,
.primary-toolbar GtkComboBox .button:insensitive {
    border-image: -gtk-scaled(url("borders/primary-toolbar-generic-border.png"),url("borders/primary-toolbar-generic-border@2.png")) 4 / 4px stretch;
    border-radius: 3px;
    border-width: 2px;
    border-style: solid;
    border-color: transparent;
}

/* primary toolbar - focused element borders */
.primary-toolbar .entry:focus,
.primary-toolbar GtkComboBox.combobox-entry .entry:focus,
.primary-toolbar .button.raised.default:active,
.primary-toolbar .raised .button.default:active,
.inline-toolbar.toolbar .button.default:active {
    border-image: -gtk-scaled(url("borders/primary-toolbar-generic-border-focused.png"),url("borders/primary-toolbar-generic-border-focused@2.png")) 4 / 4px stretch;
    border-radius: 3px;
    border-width: 2px;
    border-style: solid;
    border-color: transparent;
}

/* primary toolbar - generic button borders */
.primary-toolbar .button.raised,
.primary-toolbar .raised .button,
.inline-toolbar.toolbar .button,
.primary-toolbar GtkComboBox .button {
    border-image: -gtk-scaled(url("borders/primary-toolbar-button-border.png"),url("borders/primary-toolbar-button-border@2.png")) 4 / 4px stretch;
    border-radius: 3px;
    border-width: 2px;
    border-style: solid;
    border-color: transparent;
}

/* primary toolbar - focused button borders */
.primary-toolbar .button.raised.default,
.primary-toolbar .raised .button.default,
.inline-toolbar.toolbar .button.default {
    border-image: -gtk-scaled(url("borders/primary-toolbar-button-border-default.png"),url("borders/primary-toolbar-button-border-default@2.png")) 4 / 4px stretch;
    border-radius: 3px;
    border-width: 2px;
    border-style: solid;
    border-color: transparent;
}

/* column-headers borders */
column-header.button,
column-header .button,
column-header.button:active,
column-header .button:active,
column-header.button:active:hover,
column-header .button:active:hover,
column-header.button:backdrop,
column-header .button:backdrop,
column-header.button:insensitive,
column-header .button:insensitive,
column-header.button:last-child:backdrop,
column-header:last-child .button:backdrop {
    border-width: 0 1px 1px 0;
    border-radius: 0;
    border-style: solid;
    border-color: transparent;
}

column-header.button,
column-header .button,
column-header.button:active,
column-header .button:active,
column-header.button:active:hover,
column-header .button:active:hover,
column-header .button.dnd {
    border-image: linear-gradient(to top,
                                  mix(@borders, @theme_base_color, 0.5),
                                  @theme_base_color
                                  ) 0 1 1 0;
}

column-header.button:backdrop,
column-header .button:backdrop,
column-header.button:last-child:backdrop,
column-header:last-child .button:backdrop {
    border-image: none;
}

column-header.button:insensitive,
column-header .button:insensitive {
    border-image: linear-gradient(to top,
                                  mix(@insensitive_borders, @insensitive_bg_color, 0.5),
                                  @insensitive_bg_color
                                  ) 0 1 1 0;
}

column-header.button:last-child,
column-header:last-child .button,
column-header.button:last-child:active,
column-header:last-child .button:active,
column-header.button:last-child:active:hover,
column-header:last-child .button:active:hover,
column-header.button:last-child:backdrop,
column-header:last-child .button:backdrop {
    border-right-width: 0;
}


/* unfocused window: generic element borders */
.button:backdrop,
.spinbutton.vertical .button:backdrop,
GtkComboBox.combobox-entry .entry:backdrop,
GtkComboBox.combobox-entry .button:backdrop,
.entry:backdrop,
GtkSwitch.trough:backdrop,
.trough:backdrop,
.inline-toolbar.toolbar.vertical .button:backdrop,
.inline-toolbar.toolbar.vertical .button:backdrop:insensitive,
.inline-toolbar.toolbar.vertical .button:backdrop:active,
.suggested-action.button:backdrop, 
.toolbar .suggested-action.button:backdrop,
.destructive-action.button:backdrop {
    border-image: -gtk-scaled (url("borders/generic-border-backdrop.png"),url("borders/generic-border-backdrop@2.png")) 3 3 4 3 / 3px 3px 4px 3px stretch;
    border-radius: 3px;
    border-width: 1px 1px 2px 1px;
    border-style: solid;
    border-color: transparent;
}

.trough row:backdrop {
    border-image: -gtk-scaled (url("borders/nohl-generic-border-backdrop.png"),url("borders/nohl-generic-border-backdrop@2.png")) 3 / 3px stretch;
    border-radius: 3px;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
}

/* unfocused window: primary toolbar generic element borders */
.primary-toolbar .button:active:backdrop,
.primary-toolbar .button.raised:backdrop,
.primary-toolbar .raised .button:backdrop,
.primary-toolbar GtkComboBox.combobox-entry .entry:backdrop,
.primary-toolbar GtkComboBox.combobox-entry .button:backdrop,
.primary-toolbar GtkComboBox .button:backdrop,
.primary-toolbar .entry:backdrop,
.primary-toolbar GtkSwitch.trough:backdrop,
.inline-toolbar.toolbar .button:backdrop,
.inline-toolbar.toolbar .button:backdrop:insensitive,
.inline-toolbar.toolbar .button:backdrop:active {
    border-image: -gtk-scaled (url("borders/primary-toolbar-generic-border-backdrop.png"),url("borders/primary-toolbar-generic-border-backdrop@2.png")) 4 / 4px stretch;
    border-radius: 3px;
    border-width: 2px;
    border-style: solid;
    border-color: transparent;
}

/* pushed colored buttons borders */
.selection-mode.toolbar .suggested-action.button,
.selection-mode.toolbar GtkToolButton.suggested-action .button {
    border-image: -gtk-scaled (url("borders/generic-border-transparent.png"),url("borders/generic-border-transparent@2.png")) 3 3 4 3 / 3px 3px 4px 3px stretch;
    border-radius: 4px;
    border-width: 0px 0px 1px 0px;
    border-style: solid;
    border-color: transparent;

}

/* suggested action buttons borders */
.suggested-action.button,
.suggested-action.button:active {
    border-image: -gtk-scaled(url("borders/button-border-suggested.png"),url("borders/button-border-suggested@2.png")) 3 3 4 3 / 3px 3px 4px 3px stretch;
    border-radius: 3px;
    border-width: 1px 1px 2px 1px;
    border-style: solid;
    border-color: transparent;
}

/* destructive action buttons borders */
.destructive-action.button,
.destructive-action.button:active {
    border-image: -gtk-scaled(url("borders/button-border-destructive.png"),url("borders/button-border-destructive@2.png")) 3 3 4 3 / 3px 3px 4px 3px stretch;
    border-radius: 3px;
    border-width: 1px 1px 2px 1px;
    border-style: solid;
    border-color: transparent;
}
