:root {
  --button--bg-color: var(--button--default-bg-color);
  --button--color: var(--button--default-color);
  --button--border-color: var(--button--default-border-color);
  --button--hover-bg-color: var(--button--default-hover-bg-color);
  --button--hover-color: var(--button--default-hover-color);
  --button-link-hover-color: var(--button--default-link-hover-color);
  --button--hover-border: var(--button--default-hover-border);
  --button-icon-size: 18px;
  --button-underline-color: var(--anchor-color);
  --button-underline-thickness: 1px;
  --button-underline-offset: 3px;
  --button-padding-x: 28px;
  --button-padding-y: 24px;
  --button-padding: var(--button-padding-y) var(--button-padding-x);
}
button.button {
  border: 0;
}

button.button,
a.button,
span.button {
  border-radius: var(--button-border-radius);
  transition: var(--transition);
  text-transform: none;
  padding: var(--button-padding);
  font-size: var(--button-font-size);
  padding-bottom: 19px;
}

button.button,
.button {
  display: inline-block;
  background-color: var(--button--bg-color);
  color: var(--button--color);
  font-size: var(--button--font-size);
  font-family: var(--button-font-family);
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
}

a.button:hover, a.button:focus-visible,
button.button:hover, button.button:focus-visible,
a:hover span.button,a:focus-visible span.button {
  background-color: var(--button--hover-bg-color);
  color: var(--button--hover-color);
}

.button--primary {
  --button--bg-color: var(--button--primary-bg-color);
  --button--border-color:var(--button--primary-bg-color);
  --button--color: var(--button--primary-color);
  --button--hover-bg-color: var(--secondary-color);
  --button--hover-color: var(--button--primary-color);
  --button--hover-border: var(--secondary-color);
  --button-link-hover-color: var(--button--primary-bg-color);
}

.button--primary-light {
  --button--bg-color: var(--primary-light-color);
  --button--color: var(--primary-dark-color);
  --button--hover-bg-color: var(--primary-color);
  --button--hover-color: var(--white);
  --button--hover-border: var(--primary-color);
  --button-link-hover-color: var(--primary-color);
  --button--border-color:var(--primary-light-color);
}

.button--secondary {
  --button--bg-color: var(--secondary-color);
  --button--color: var(--white);
  --button--hover-bg-color: var(--secondary-dark-color);
  --button--hover-color: var(--white);
  --button--hover-border: var(--secondary-dark-color);
  --button-link-hover-color: var(--button--primary-bg-color);
  --button--border-color:var(--secondary-color);
}

.button--secondary-light {
  --button--bg-color: var(--secondary-light-color);
  --button--color: var(--secondary-color);
  --button--hover-bg-color: var(--secondary-dark-color);
  --button--hover-color: var(--white);
  --button--hover-border: var(--secondary-dark-color);
  --button-link-hover-color: var(--button--primary-bg-color);
  --button--border-color:var(--secondary-color);
}

.button_link {
  background-color: transparent;
  color: var(--secondary-dark-color);
  --button--color: var(--secondary-dark-color);
  --button--hover-bg-color: transparent;
  --button--hover-color: var(--secondary-dark-color);
  border: unset;
  .button-text {
    text-decoration: underline;
    color: var(--secondary-dark-color);
    text-decoration-color: var(--secondary-dark-color);
    text-decoration-thickness: var(--button-underline-thickness);
    text-underline-offset: var(--button-underline-offset);
  }
  &:hover, &:focus-visible {
    .button-text {
      text-decoration: none;
    }
  }
}

.button_icon {
  display: inline-flex;
  align-items: center;
  column-gap: 12px;
}

.button [class*="icon-"] {
  font-size: var(--button-icon-size);
}

/**
 * SIZE
 */
a.button.button_small,button.button.button_small {
  font-size: var(--font-size-small);
  padding: 20px 24px;
  padding-bottom: 16px;
}
