//
// Component: Button
//
// ========================================================================


// Variables
// ========================================================================

@button-large-font-size:                        16px;

@button-default-background:                     transparent;
@button-default-color:                          @global-emphasis-color;
@button-default-hover-background:               transparent;
@button-default-hover-color:                    fade(@button-default-color, 70%);
@button-default-active-background:              transparent;
@button-default-active-color:                   @button-default-color;

@button-primary-background:                     transparent;
@button-primary-color:                          @global-link-color;
@button-primary-hover-background:               transparent;
@button-primary-hover-color:                    darken(@button-primary-color, 15%);
@button-primary-active-background:              transparent;
@button-primary-active-color:                   lighten(@button-primary-color, 10%);

@button-secondary-background:                   transparent;
@button-secondary-color:                        @global-emphasis-color;
@button-secondary-hover-background:             transparent;
@button-secondary-hover-color:                  fade(@button-default-color, 70%);
@button-secondary-active-background:            transparent;
@button-secondary-active-color:                 @button-secondary-color;

@button-danger-background:                      transparent;
@button-danger-color:                           @global-danger-background;
@button-danger-hover-background:                transparent;
@button-danger-hover-color:                     darken(@button-danger-color, 15%);
@button-danger-active-background:               transparent;
@button-danger-active-color:                    darken(@button-danger-color, 25%);

@button-disabled-background:                    fade(@global-secondary-background, 3%);

//
// Master
//

@button-transition-duration:                           0.1s;

@button-border-width:                                  3px;

@internal-button-border-image-slice:                   3;
@internal-button-border-image-width:                   3px;
@internal-button-border-image-repeat:                  round;

@button-default-border:                                fade(@global-secondary-background, 18%);
@button-default-hover-border:                          fade(@global-secondary-background, 26%);
@button-default-active-border:                         @global-secondary-background;
@internal-button-default-border-image:                 "../../../../uikit-themes/master-pinewood-lake/images/button-border-image.svg";

@button-primary-border:                                @global-primary-background;
@button-primary-hover-border:                          darken(@global-primary-background, 12%);
@button-primary-active-border:                         lighten(@global-primary-background, 10%);
@internal-button-primary-border-image:                 "../../../../uikit-themes/master-pinewood-lake/images/button-border-image.svg";

@button-secondary-border:                              @global-secondary-background;
@button-secondary-hover-border:                        lighten(@global-secondary-background, 30%);
@button-secondary-active-border:                       @global-secondary-background;
@internal-button-secondary-border-image:               "../../../../uikit-themes/master-pinewood-lake/images/button-border-image.svg";

@button-danger-border:                                 @global-danger-background;
@button-danger-hover-border:                           darken(@global-danger-background, 15%);
@button-danger-active-border:                          darken(@global-danger-background, 30%);
@internal-button-danger-border-image:                  "../../../../uikit-themes/master-pinewood-lake/images/button-border-image.svg";

@button-disabled-color:                                #c0c0c0;
@button-disabled-border:                               fade(@global-secondary-background, 10%);

@button-text-border:                                   @global-secondary-background;
@button-text-mode:                                     line; // none, line, arrow, em-dash
@button-text-border-width:                             @global-border-width;


// Component
// ========================================================================

.hook-button() {}

.hook-button-hover() {}

.hook-button-focus() {}

.hook-button-active() {}


// Style modifiers
// ========================================================================

.hook-button-default() {}

.hook-button-default-hover() {}

.hook-button-default-active() {}

//
// Primary
//

.hook-button-primary() {}

.hook-button-primary-hover() {}

.hook-button-primary-active() {}

//
// Secondary
//

.hook-button-secondary() {}

.hook-button-secondary-hover() {}

.hook-button-secondary-active() {}

//
// Danger
//

.hook-button-danger() {}

.hook-button-danger-hover() {}

.hook-button-danger-active() {}


// Disabled
// ========================================================================

.hook-button-disabled() {}


// Size modifiers
// ========================================================================

.hook-button-small() {}

.hook-button-large() {}


// Text modifier
// ========================================================================

.hook-button-text() {}

.hook-button-text-hover() {}

.hook-button-text-disabled() {}


// Link modifier
// ========================================================================

.hook-button-link() {}


// Miscellaneous
// ========================================================================

.hook-button-misc() {}


// Inverse
// ========================================================================

@inverse-button-default-background:                     transparent;
@inverse-button-default-color:                          @inverse-global-emphasis-color;
@inverse-button-default-hover-background:               transparent;
@inverse-button-default-hover-color:                    @inverse-global-color;
@inverse-button-default-active-background:              transparent;
@inverse-button-default-active-color:                   @inverse-global-muted-color;

@inverse-button-primary-background:                     transparent;
@inverse-button-primary-color:                          @inverse-global-emphasis-color;
@inverse-button-primary-hover-background:               transparent;
@inverse-button-primary-hover-color:                    @inverse-global-color;
@inverse-button-primary-active-background:              transparent;
@inverse-button-primary-active-color:                   @inverse-global-muted-color;

@inverse-button-secondary-background:                   transparent;
@inverse-button-secondary-color:                        @inverse-global-emphasis-color;
@inverse-button-secondary-hover-background:             transparent;
@inverse-button-secondary-hover-color:                  @inverse-global-color;
@inverse-button-secondary-active-background:            transparent;
@inverse-button-secondary-active-color:                 @inverse-global-muted-color;

@inverse-button-text-color:                             @inverse-global-emphasis-color;
@inverse-button-text-hover-color:                       @inverse-global-color;

//
// Master
//

@inverse-button-default-border:                         @inverse-global-muted-color;
@inverse-button-default-hover-border:                   @inverse-global-emphasis-color;
@inverse-button-default-active-border:                  @inverse-global-color;

@inverse-button-primary-border:                         @inverse-global-muted-color;
@inverse-button-primary-hover-border:                   @inverse-global-emphasis-color;
@inverse-button-primary-active-border:                  @inverse-global-color;

@inverse-button-secondary-border:                       @inverse-global-muted-color;
@inverse-button-secondary-hover-border:                 @inverse-global-emphasis-color;
@inverse-button-secondary-active-border:                @inverse-global-color;

.hook-inverse-button-default() {}
.hook-inverse-button-default-hover() {}
.hook-inverse-button-default-active() {}

.hook-inverse-button-primary() {}
.hook-inverse-button-primary-hover() {}
.hook-inverse-button-primary-active() {}

.hook-inverse-button-secondary() {}
.hook-inverse-button-secondary-hover() {}
.hook-inverse-button-secondary-active() {}

.hook-inverse-button-text() {}
.hook-inverse-button-text-hover() {}
.hook-inverse-button-text-disabled() {}

.hook-inverse-button-link() {}
