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


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

@button-large-font-size:                        @global-font-size;

@button-padding-horizontal:                     @global-margin;
@button-large-padding-horizontal:               (@global-margin * 2);

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

@button-primary-background:             		darken(@global-primary-background, 5%);
@button-primary-color:                  		@global-emphasis-color;
@button-primary-hover-background:               lighten(@button-primary-background, 3%);
@button-primary-hover-color:                    @global-emphasis-color;
@button-primary-active-background:            	lighten(@button-primary-hover-background, 2%);
@button-primary-active-color:            		@global-emphasis-color;

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

@button-danger-hover-background:                transparent;
@button-danger-hover-color:                     @global-danger-background;
@button-danger-active-background:               transparent;
@button-danger-active-color:                    fade(@button-danger-hover-color, 80%);

//
// Master
//

@button-border-width:                           @global-border-width;

@button-default-border:                         @global-secondary-background;
@button-default-hover-border:                   @button-default-border;
@button-default-active-border:                  @button-default-border;

@button-secondary-hover-border:                 @global-secondary-background;
@button-secondary-active-border:                fade(@global-secondary-background, 60%);

@button-danger-hover-border:                    @global-danger-background;
@button-danger-active-border:                   fade(@global-danger-background, 60%);


// 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() {

	&::before { bottom: -4px; }

}

.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:      @inverse-global-primary-background;
@inverse-button-default-hover-color:           @inverse-global-inverse-color;
@inverse-button-default-active-background:     transparent;
@inverse-button-default-active-color:          @inverse-button-default-color;

@inverse-button-default-border:                @inverse-button-default-color;
@inverse-button-default-active-border:         @inverse-button-default-border;

@inverse-button-primary-background:            @button-primary-background;
@inverse-button-primary-color:                 @button-primary-color;
@inverse-button-primary-hover-background:      lighten(@inverse-button-primary-background, 3%);
@inverse-button-primary-hover-color:           @button-primary-hover-color;
@inverse-button-primary-active-background:     @button-primary-active-background;
@inverse-button-primary-active-color:          @button-primary-active-color;

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

@inverse-button-text-color:                    @inverse-global-emphasis-color;
@inverse-button-text-hover-color:              @inverse-button-text-color;
@inverse-button-link-color:                    @inverse-global-emphasis-color;
@inverse-button-link-hover-color:              @inverse-global-muted-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() {}