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


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

@button-font-size:                              @global-small-font-size;
@button-large-font-size:                        18px;

@button-default-background:                     @global-background;
@button-default-hover-background:               @global-primary-background;
@button-default-hover-color:                    @global-background;
@button-default-active-background:              darken(@global-primary-background, 5%);
@button-default-active-color:                   @global-background;

@button-secondary-hover-background:             @global-primary-background;
@button-secondary-active-background:            darken(@global-primary-background, 5%);
 
@button-text-hover-color:                       @global-primary-background;

//
// Master
//

@internal-button-default-hover-gradient:        linear-gradient(320deg, @global-primary-background, spin(@global-primary-background, 15%));
@internal-button-default-active-gradient:       linear-gradient(320deg, @global-primary-background, spin(@global-primary-background, 35%));

@internal-button-primary-gradient:              linear-gradient(320deg, @global-primary-background, spin(@global-primary-background, 15%));
@internal-button-primary-hover-gradient:        linear-gradient(320deg, spin(@global-primary-background, 8%), spin(@global-primary-background, 25%));
@internal-button-primary-active-gradient:       linear-gradient(320deg, spin(@global-primary-background, 8%), spin(@global-primary-background, 35%));

@internal-button-secondary-hover-gradient:      linear-gradient(320deg, @global-primary-background, spin(@global-primary-background, 15%));
@internal-button-secondary-active-gradient:     linear-gradient(320deg, spin(@global-primary-background, 8%), spin(@global-primary-background, 35%));

@button-text-mode:                              em-dash;
@button-text-border-width:                      2px;
@button-text-hover-border:                      @global-primary-background;

@internal-button-text-em-dash-size:             40px;

@button-border-radius:                          500px;

@button-default-box-shadow:                     @global-medium-box-shadow;
@button-default-hover-box-shadow:               0 0 0 rgba(0,0,0,0);


// 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-primary-color:                  @global-primary-background;
@inverse-button-primary-hover-color:            darken(@global-primary-background, 5%);
@inverse-button-primary-active-color:           darken(@global-primary-background, 15%);
@inverse-button-secondary-color:                @global-emphasis-color;
@inverse-button-secondary-hover-color:          darken(@global-emphasis-color, 5%);
@inverse-button-secondary-active-color:         darken(@global-emphasis-color, 15%);
@inverse-button-text-color:                     @inverse-global-emphasis-color;
@inverse-button-text-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() {}