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


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

@button-font-size:                             (@global-font-size - 1);
@button-small-font-size:                       14px;
@button-large-font-size:                       @global-font-size;

@button-padding-horizontal:                    35px;
@button-large-padding-horizontal: 			   40px;
@button-small-padding-horizontal:			   20px;

@button-default-background:                    lighten(@global-secondary-background, 4%);
@button-default-color:                         @global-inverse-color;
@button-default-hover-background:              darken(@global-secondary-background, 15%);
@button-default-hover-color:                   @global-inverse-color;
@button-default-active-background:             @button-default-background;
@button-default-active-color:                  fade(@button-default-hover-color, 70%);

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

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

@button-danger-hover-background:               darken(@button-danger-background, 5%);
@button-danger-active-background:              lighten(@button-danger-background, 5%);
@button-danger-active-color:                   fade(@button-danger-hover-color, 80%);

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

@button-link-color:                            @global-color;
@button-link-hover-color:                      @global-color;
@button-link-hover-text-decoration:            none;

//
// Master
//

@button-transition-duration:                   0.3s;

@button-letter-spacing:                        -0.5px;

@button-background-size:                       200%;
@button-background-position-x:                 100%;
@button-hover-background-position-x:           0;

@button-border-width:                          2px;

@button-text-mode:                             arrow;

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

@internal-button-default-gradient:             linear-gradient(90deg, @button-default-hover-background 50%, @button-default-background 50%);
@internal-button-default-hover-gradient:       linear-gradient(90deg, @button-default-hover-background 50%, @button-default-background 50%);

@internal-button-primary-gradient:             linear-gradient(90deg, @button-primary-hover-background 50%, @button-primary-background 50%);
@internal-button-primary-hover-gradient:       linear-gradient(90deg, @button-primary-hover-background 50%, @button-primary-background 50%);

@internal-button-secondary-gradient:           linear-gradient(90deg, @button-secondary-border 50%, @button-secondary-background 50%);
@internal-button-secondary-hover-gradient:     linear-gradient(90deg, @button-secondary-border 50%, @button-secondary-background 50%);

@internal-button-danger-gradient:              linear-gradient(90deg, @button-danger-hover-background 50%, @global-danger-background 50%);
@internal-button-danger-hover-gradient:        linear-gradient(90deg, @button-danger-hover-background 50%, @global-danger-background 50%);

@internal-button-text-arrow-image:             "../../../../uikit-themes/master-yard/images/button-text-arrow.svg";
@internal-button-text-arrow-padding:           20px;
@internal-button-text-arrow-width:             26px;
@internal-button-text-arrow-color:             @global-primary-background;
@internal-button-text-arrow-hover-color:       @global-primary-background;


// 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:               		@inverse-global-primary-background;
@inverse-button-default-color:               			@inverse-global-inverse-color;
@inverse-button-default-hover-background:               fade(@inverse-button-default-background, 80%);
@inverse-button-default-hover-color:               		@inverse-button-default-color;

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

@inverse-button-secondary-color:                        @inverse-global-emphasis-color;
@inverse-button-secondary-background:                   transparent;
@inverse-button-secondary-border:                       fade(@inverse-global-primary-background, 40%);

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

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

@internal-inverse-button-text-arrow-color:              @global-primary-background;
@internal-inverse-button-text-arrow-hover-color:        @global-primary-background;

.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() {}