/**************
 ! GTK settings
***************/

* {
    -GtkArrow-arrow-scaling: .5;
    -GtkExpander-expander-size: 8;
    -GtkStatusbar-shadow-type: none;
    -GtkToolItemGroup-expander-size: 8;
    -GtkWindow-resize-grip-height: 0;
    -GtkWindow-resize-grip-width: 0;
    -WnckTasklist-fade-overlay-rect: 0;

    -GtkWidget-cursor-color: $primary_caret_color;
    -GtkWidget-secondary-cursor-color: $secondary_caret_color;
    -GtkWidget-cursor-aspect-ratio: $caret_aspect_ratio;

    outline-color: alpha($selected_bg_color, .5);
    outline-style: dashed;
    outline-width: 1px;
    outline-offset: -1px;
    outline-radius: $roundness;
}


/*************
 ! Base states
 *************/

%selected {
    &, &:focus {
        background-color: $selected_bg_color;
        color: $selected_fg_color;
    }
}

* {
    /* hyperlinks */
    -GtkHTML-link-color: $link_color;
    -GtkIMHtml-hyperlink-color: $link_color;
    -GtkWidget-link-color: $link_color;
    -GtkWidget-visited-link-color: $link_color;

    &:selected { @extend %selected; }

    &:insensitive,
    &:insensitive:insensitive { color: mix($fg_color, $bg_color, .5); }

    &:insensitive { -gtk-image-effect: dim; }

    &:hover { -gtk-image-effect: highlight; }

    &:link, &:visited { color: $link_color; }
}

.background {
    background-color: $bg_color;
    color: $fg_color;

    &:backdrop {
        text-shadow: none;
        icon-shadow: none;
    }

    &.csd { background-color: $bg_color; }
}

.gtkstyle-fallback {
    background-color: alpha($bg_color, .5);
    color: $fg_color;

    &:hover {
        background-color: shade($bg_color, 1.1);
        color: $fg_color;
    }

    &:active {
        background-color: shade($bg_color, .9);
        color: $fg_color;
    }

    &:insensitive {
        background-color: shade(shade($bg_color, .95), 1.05);
        color: mix($fg_color, $bg_color, .5);
    }

    &:selected { @extend %selected; }
}

GtkImage, GtkLabel, GtkBox, GtkGrid {
    &, &:insensitive { background-color: transparent; }
}

GtkLabel {
    &.separator {
        @extend .dim-label;

        color: $fg_color;
    }

    &:selected { @extend %selected; }

    &:insensitive { color: mix($fg_color, $bg_color, .5); }
}
