:import {
  -st-from: '../Button/ButtonCore/ButtonCore.st.css';
  -st-default: ButtonCore;
}

:import {
  -st-from: '../Foundation/stylable/colors.st.css';
  -st-named: B00, B05, B10, B20, B40, B50, D80, F00, D10-10, D10-20, D20-48,
    D20-54, D20-60, D20-72, D80-50, D80-70, P05, P00, P10, P20, P40, D10-30,
    D80-30, D10, D20, D40;
}

:import {
  -st-from: '../Foundation/stylable/easing.st.css';
  -st-named: ease-9, speed-fast-1;
}

@st-import [
  --wds-button-border-radius-tiny,
  --wds-button-border-radius-small,
  --wds-button-border-radius-medium,
  --wds-button-border-radius-large,
  --wds-button-size-tiny,
  --wds-button-size-small,
  --wds-button-size-medium,
  --wds-button-size-large,

  --wds-shadow-focus-standard,

  --wds-color-text-primary,
  --wds-color-text-standard-primary,
  --wds-color-text-standard-primary-light,
  --wds-color-text-disabled,
  --wds-color-text-disabled-light,
  --wds-color-text-premium,

  --wds-color-border-standard-secondary,
  --wds-color-border-standard-secondary-disabled,
  --wds-color-border-dark-primary,
  --wds-color-border-dark-primary-disabled,
  --wds-color-border-dark-secondary-disabled,
  --wds-color-border-light,
  --wds-color-border-light-disabled,
  --wds-color-border-premium-secondary,
  --wds-color-border-premium-secondary-disabled,

  --wds-color-fill-standard-primary,
  --wds-color-fill-standard-primary-hover,
  --wds-color-fill-standard-primary-active,
  --wds-color-fill-standard-primary-disabled,

  --wds-color-fill-standard-secondary,
  --wds-color-fill-standard-secondary-hover,
  --wds-color-fill-standard-secondary-active,
  --wds-color-fill-standard-secondary-disabled,

  --wds-color-fill-standard-tertiary-disabled,
  --wds-color-fill-standard-tertiary,

  --wds-color-fill-light-primary,
  --wds-color-fill-light-primary-hover,
  --wds-color-fill-light-primary-active,
  --wds-color-fill-light-primary-disabled,

  --wds-color-fill-light-secondary,
  --wds-color-fill-light-secondary-hover,
  --wds-color-fill-light-secondary-active,
  --wds-color-fill-light-secondary-disabled,

  --wds-color-fill-transparent-primary,
  --wds-color-fill-transparent-primary-hover,
  --wds-color-fill-transparent-primary-active,
  --wds-color-fill-transparent-primary-disabled,

  --wds-color-fill-transparent-secondary,
  --wds-color-fill-transparent-secondary-hover,
  --wds-color-fill-transparent-secondary-active,
  --wds-color-fill-transparent-secondary-disabled,

  --wds-color-fill-premium-primary,
  --wds-color-fill-premium-primary-hover,
  --wds-color-fill-premium-primary-active,
  --wds-color-fill-premium-primary-disabled,

  --wds-color-fill-premium-secondary,
  --wds-color-fill-premium-secondary-hover,
  --wds-color-fill-premium-secondary-active,
  --wds-color-fill-premium-secondary-disabled,

  --wds-color-fill-premium-tertiary,
  --wds-color-fill-premium-tertiary-disabled,

  --wds-color-fill-dark-primary,
  --wds-color-fill-dark-primary-hover,
  --wds-color-fill-dark-primary-active,
  --wds-color-fill-dark-primary-disabled,
  ] from '@wix/design-system-tokens/all.st.css';

.root {
  -st-extends: ButtonCore;
  -st-states: skin(string), priority(string), size(string), newColorsBranding;

  width: var(--wds-button-size-medium, 36px);
  height: var(--wds-button-size-medium, 36px);
  border-radius: var(--wds-button-border-radius-medium, 18px);
  padding: 0;

  box-sizing: border-box;
  text-align: center;

  border: 1px solid;
  outline: none;

  transition-duration: value(speed-fast-1);
  transition-timing-function: value(ease-9);
  transition-property: background-color, color, border-color;

  background-color: var(--wds-color-fill-standard-primary, value(B10));
  border-color: var(--wds-color-fill-standard-primary, value(B10));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:hover {
  background-color: var(--wds-color-fill-standard-primary-hover, value(B20));
  border-color: var(--wds-color-fill-standard-primary-hover, value(B20));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:active {
  background-color: var(--wds-color-fill-standard-primary-active, value(B10));
  border-color: var(--wds-color-fill-standard-primary-active, value(B10));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:hover {
  background-color: var(--wds-color-fill-standard-primary-hover, value(B05));
  border-color: var(--wds-color-fill-standard-primary-hover, value(B05));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:active {
  background-color: var(--wds-color-fill-standard-primary-active, value(B00));
  border-color: var(--wds-color-fill-standard-primary-active, value(B00));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:disabled {
  background-color: var(--wds-color-fill-standard-primary-disabled, value(D10-30));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:focus-visible {
  box-shadow: var(--wds-shadow-focus-standard, 0 0 0 3px value(F00));
}

.root::content {
  line-height: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Skin: Standard - Secondary */

.root:priority(secondary) {
  background: var(--wds-color-fill-standard-tertiary, transparent);
  border: solid 1px var(--wds-color-border-standard-secondary, value(B10));
  color: var(--wds-color-text-primary, value(B10));
}

.root:priority(secondary):hover,
.root:skin(inverted):hover,
.root:skin(inverted):priority(secondary):hover {
  background-color: var(--wds-color-fill-standard-primary-hover, value(B20));
  border-color: var(--wds-color-fill-standard-primary-hover, transparent);
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:priority(secondary):active,
.root:skin(inverted):active,
.root:skin(inverted):priority(secondary):active {
  background-color: var(--wds-color-fill-standard-secondary-active, value(B10));
  border-color: var(--wds-color-fill-standard-secondary-active, value(B10));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:priority(secondary):disabled {
  background-color: var(--wds-color-fill-standard-tertiary-disabled, transparent);
  border-color: var(--wds-color-border-standard-secondary-disabled, value(D10-30));
  color: var(--wds-color-text-disabled, value(D10-30));
}

/* Skin: inverted */
.root:skin(inverted) {
  background-color: var(--wds-color-fill-standard-tertiary, value(D80));
  border: none;
  color: var(--wds-color-text-primary, value(B10));
}

.root:skin(inverted):disabled,
.root:skin(inverted):priority(secondary):disabled {
  background-color: var(--wds-color-fill-standard-tertiary-disabled, value(D10-30));
  border-color: var(--wds-color-border-standard-secondary-disabled, transparent);
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

/* Skin: inverted - Secondary */
.root:skin(inverted):priority(secondary) {
  background-color: var(--wds-color-fill-standard-tertiary, value(D80));
  border: none;
  color: var(--wds-color-text-primary, value(B20));
}

.root:newColorsBranding:priority(secondary),
.root:newColorsBranding:skin(inverted),
.root:newColorsBranding:skin(inverted):priority(secondary) {
  background: var(--wds-color-fill-standard-tertiary, value(D80));
  border: solid 1px var(--wds-color-border-standard-secondary, value(B40));
  color: var(--wds-color-text-primary, value(B10));
}

.root:newColorsBranding:priority(secondary):hover,
.root:newColorsBranding:skin(inverted):hover,
.root:newColorsBranding:skin(inverted):priority(secondary):hover {
  background-color: var(--wds-color-fill-standard-primary-hover, value(B05));
  border-color: var(--wds-color-fill-standard-primary-hover, value(B05));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:priority(secondary):active,
.root:newColorsBranding:skin(inverted):active,
.root:newColorsBranding:skin(inverted):priority(secondary):active {
  background-color: var(--wds-color-fill-standard-secondary-active, value(B00));
  border-color: var(--wds-color-fill-standard-secondary-active, value(B00));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:priority(secondary):disabled,
.root:newColorsBranding:skin(inverted):disabled,
.root:newColorsBranding:skin(inverted):priority(secondary):disabled {
  background-color: var(--wds-color-fill-standard-tertiary-disabled, value(D80));
  border-color: var(--wds-color-border-standard-secondary-disabled, value(D10-10));
  color: var(--wds-color-text-disabled, value(D10-30));
}

/* skin Light */

.root:skin(light) {
  background-color: var(--wds-color-fill-light-primary, value(D80));
  border: none;
  color: var(--wds-color-text-primary, value(B20));
}

.root:skin(light):hover {
  background-color: var(--wds-color-fill-light-primary-hover, value(B50));
  color: var(--wds-color-text-primary, value(B10));
  border-color: var(--wds-color-fill-light-primary-hover, value(B50));
}

.root:skin(light):active {
  background-color: var(--wds-color-fill-light-primary-active, value(B40));
  color: var(--wds-color-text-primary, value(B10));
}

.root:skin(light):disabled {
  background-color: var(--wds-color-fill-light-primary-disabled, value(D80-30));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

/* skin Light secondary */

.root:skin(light):priority(secondary) {
  background: var(--wds-color-fill-light-secondary, transparent);
  border: solid 1px var(--wds-color-border-light, value(D80));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:skin(light):priority(secondary) {
  background: var(--wds-color-fill-light-secondary, transparent);
  border: solid 1px var(--wds-color-border-light, value(D80-50));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(light):priority(secondary):hover {
  background-color: var(--wds-color-fill-light-secondary-hover, value(B50));
  border-color: var(--wds-color-fill-light-secondary-hover, value(B50));
  color: var(--wds-color-text-primary, value(B10));
}

.root:skin(light):priority(secondary):active {
  background-color: var(--wds-color-fill-light-secondary-active, value(B40));
  border: solid 1px var(--wds-color-fill-light-secondary-active, value(B40));
  color: var(--wds-color-text-primary, value(B10));
}

.root:skin(light):priority(secondary):disabled {
  background-color: var(--wds-color-fill-light-secondary-disabled, transparent);
  border-color: var(--wds-color-border-light-disabled, value(D80-30));
  color: var(--wds-color-text-disabled-light, value(D80-70));
}

/* skin Transparent */

.root:skin(transparent) {
  background-color: var(--wds-color-fill-transparent-primary, value(D20-48));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(transparent):hover {
  background-color: var(--wds-color-fill-transparent-primary-hover, value(D20-54));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(transparent):active {
  background-color: var(--wds-color-fill-transparent-primary-active, value(D20-60));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(transparent):disabled {
  background-color: var(--wds-color-fill-transparent-primary-disabled, value(D10-20));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80-70));
}

.root:newColorsBranding:skin(transparent):hover {
  background-color: var(--wds-color-fill-transparent-primary-hover, value(D20-60));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:skin(transparent):active {
  background-color: var(--wds-color-fill-transparent-primary-active, value(D20-72));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

/* skin: transparent - Secondary */

.root:skin(transparent):priority(secondary) {
  background-color: var(--wds-color-fill-transparent-secondary, transparent);
  border-color: var(--wds-color-fill-transparent-secondary, transparent);
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(transparent):priority(secondary):hover {
  background-color: var(--wds-color-fill-transparent-secondary-hover, value(D20-54));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(transparent):priority(secondary):active {
  background-color: var(--wds-color-fill-transparent-secondary-active, value(D20-60));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(transparent):priority(secondary):disabled {
  background-color: var(--wds-color-fill-standard-secondary-disabled, transparent);
  border-color: var(--wds-color-border-dark-secondary-disabled, transparent);
  color: var(--wds-color-text-disabled, value(D80-70));
}

.root:newColorsBranding:skin(transparent):priority(secondary):disabled {
  background-color: var(--wds-color-fill-transparent-secondary-disabled, transparent);
  border-color: var(--wds-color-border-dark-secondary-disabled, value(D10-20));
  color: var(--wds-color-text-disabled, value(D10-30));
}

/* skin: premium */

.root:skin(premium) {
  background-color: var(--wds-color-fill-premium-primary, value(P10));
  border: none;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(premium):hover {
  background-color: var(--wds-color-fill-premium-primary-hover, value(P20));
  border-color: var(--wds-color-fill-premium-primary-hover, value(P20));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(premium):active {
  background-color: var(--wds-color-fill-premium-primary-active, value(P10));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(premium):disabled {
  background-color: var(--wds-color-fill-premium-primary-disabled, value(D10-30));
  border-color: transparent;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:skin(premium):hover {
  background-color: var(--wds-color-fill-premium-primary-hover, value(P05));
  border-color: var(--wds-color-fill-premium-primary-hover, value(P05));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:skin(premium):active {
  background-color: var(--wds-color-fill-premium-primary-active, value(P00));
  border-color: var(--wds-color-fill-premium-primary-active, ) value(P00);
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

/* skin: premium - Secondary */

.root:skin(premium):priority(secondary) {
  background: var(--wds-color-fill-premium-tertiary, transparent);
  border: solid 1px var(--wds-color-border-premium-secondary, value(P10));
  color: var(--wds-color-text-premium, value(P10));
}

.root:skin(premium):priority(secondary):hover {
  background-color: var(--wds-color-fill-premium-primary-hover, value(P20));
  border-color: var(--wds-color-fill-premium-primary-hover, value(P20));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(premium):priority(secondary):active {
  background-color: var(--wds-color-fill-premium-primary-hover, value(P10));
  border: solid 1px var(--wds-color-fill-premium-primary-hover, value(P10));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(premium):priority(secondary):disabled {
  background-color: var(--wds-color-fill-premium-tertiary-disabled, transparent);
  border-color: var(--wds-color-border-premium-secondary, value(D10-30));
  color: var(--wds-color-text-disabled, value(D10-30));
}

.root:newColorsBranding:skin(premium):priority(secondary) {
  background-color: var(--wds-color-fill-premium-tertiary, value(D80));
  border: solid 1px var(--wds-color-border-premium-secondary, value(P40));
  color: var(--wds-color-text-premium, value(P10));
}

.root:newColorsBranding:skin(premium):priority(secondary):hover {
  background-color: var(--wds-color-fill-premium-primary-hover, value(P05));
  border-color: var(--wds-color-fill-premium-primary-hover, value(P05));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:skin(premium):priority(secondary):active {
  background-color: var(--wds-color-fill-premium-primary-hover, value(P00));
  border: solid 1px var(--wds-color-fill-premium-primary-hover, value(P00));
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:newColorsBranding:skin(premium):priority(secondary):disabled {
  background-color: var(--wds-color-fill-premium-tertiary-disabled, value(D80));
  border-color: var(--wds-color-border-premium-secondary-disabled, value(D10-10));
  color: var(--wds-color-text-disabled, value(D10-30));
}

/* skin: dark */

.root:skin(dark) {
  background-color: var(--wds-color-fill-dark-primary, value(D10));
  border: none;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(dark):hover {
  background-color: var(--wds-color-fill-dark-primary-hover, value(D20));
  border: none;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(dark):active {
  background-color: var(--wds-color-fill-dark-primary-active, value(D10));
  border: none;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(dark):disabled {
  background-color: var(--wds-color-fill-dark-primary-disabled, value(D10-30));
  border: none;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

/* skin: dark - secondary */

.root:skin(dark):priority(secondary) {
  background-color: transparent;
  border: solid 1px var(--wds-color-border-dark-primary, value(D40));
  color: var(--wds-color-text-standard-primary, value(D10))
}

.root:skin(dark):priority(secondary):hover {
  background-color: var(--wds-color-fill-dark-primary-hover, value(D20));
  border: none;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(dark):priority(secondary):active {
  background-color: var(--wds-color-fill-dark-primary-active, value(D10));
  border: none;
  color: var(--wds-color-text-standard-primary-light, value(D80));
}

.root:skin(dark):priority(secondary):disabled {
  background-color: transparent;
  border: solid 1px var(--wds-color-border-dark-primary-disabled, value(D10-10));
  color: var(--wds-color-text-disabled, value(D10-30));
}

/* sizes */

.root:size(tiny) {
  width: var(--wds-button-size-tiny, 24px);
  height: var(--wds-button-size-tiny, 24px);
  border-radius: var(--wds-button-border-radius-tiny, 18px);
}

.root:size(small) {
  width: var(--wds-button-size-small, 30px);
  height: var(--wds-button-size-small, 30px);
  border-radius: var(--wds-button-border-radius-small, 18px);
}

.root:size(large) {
  width: var(--wds-button-size-large, 42px);
  height: var(--wds-button-size-large, 42px);
  border-radius: var(--wds-button-border-radius-large, 24px);
}

/* st-namespace-reference="../../../src/IconButton/IconButton.st.css" */