:host {
  display: inline-flex;
  block-size: fit-content;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

:host(:focus) {
  outline: none;
}
:host(:focus) button {
  outline: none;
}

::slotted(gux-icon) {
  inline-size: var(--gse-ui-button-icon-size);
  block-size: var(--gse-ui-button-icon-size);
}

::slotted(*) {
  padding-inline-start: var(--gse-ui-button-gap);
  vertical-align: middle;
}

::slotted(gux-tooltip),
::slotted(gux-tooltip-beta) {
  padding-inline-start: 0;
}

::slotted(*:first-child) {
  padding: 0;
}

button {
  font-family: var(--gse-ui-button-text-fontFamily);
  font-size: var(--gse-ui-button-text-fontSize);
  font-weight: var(--gse-ui-button-text-fontWeight);
  line-height: var(--gse-ui-button-text-lineHeight);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  min-inline-size: var(--gse-ui-button-iconOnly-width);
  min-block-size: var(--gse-ui-button-default-height);
  padding: var(--gse-ui-button-default-padding);
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--gse-ui-button-secondary-default-foregroundColor);
  white-space: nowrap;
  pointer-events: auto;
  cursor: pointer;
  background-color: var(--gse-ui-button-secondary-default-backgroundColor);
  border: none;
  border-radius: var(--gse-ui-button-borderRadius);
}
button.gux-icon-only {
  padding: var(--gse-ui-button-default-paddingIconOnly);
}
button[disabled] {
  pointer-events: none;
  cursor: default;
  opacity: var(--gse-ui-button-disabled-opacity);
}
button:hover:enabled {
  color: var(--gse-ui-button-secondary-hover-foregroundColor);
  background-color: var(--gse-ui-button-secondary-hover-backgroundColor);
}
button:active:enabled {
  color: var(--gse-ui-button-secondary-active-foregroundColor);
  background-color: var(--gse-ui-button-secondary-active-backgroundColor);
}
button:focus-visible:enabled {
  outline: var(--gse-semantic-focusOutline-md-borderWidth) solid var(--gse-semantic-border-focus);
  outline-offset: var(--gse-semantic-focusOutline-offset);
  border-radius: var(--gse-semantic-focusOutline-sm-borderRadius);
}
button.gux-primary {
  color: var(--gse-ui-button-primary-default-foregroundColor);
  background-color: var(--gse-ui-button-primary-default-backgroundColor);
}
button.gux-primary:hover:enabled {
  color: var(--gse-ui-button-primary-hover-foregroundColor);
  background-color: var(--gse-ui-button-primary-hover-backgroundColor);
}
button.gux-primary:active:enabled {
  color: var(--gse-ui-button-primary-active-foregroundColor);
  background-color: var(--gse-ui-button-primary-active-backgroundColor);
}
button.gux-tertiary {
  color: var(--gse-ui-button-tertiary-default-foregroundColor);
  background-color: var(--gse-ui-button-tertiary-default-backgroundColor);
  border-color: var(--gse-ui-button-tertiary-default-border-color);
  border-style: var(--gse-ui-button-tertiary-default-border-style);
  border-width: var(--gse-ui-button-tertiary-default-border-width);
  /* prettier-ignore */
}
button.gux-tertiary.gux-icon-only {
  padding: calc(var(--gse-ui-button-default-paddingIconOnly) - var(--gse-ui-button-tertiary-default-border-width));
}
button.gux-tertiary:hover:enabled {
  color: var(--gse-ui-button-tertiary-hover-foregroundColor);
  background-color: var(--gse-ui-button-tertiary-hover-backgroundColor);
}
button.gux-tertiary:active:enabled {
  color: var(--gse-ui-button-tertiary-active-foregroundColor);
  background-color: var(--gse-ui-button-tertiary-active-backgroundColor);
}
button.gux-ghost {
  color: var(--gse-ui-button-ghost-default-foregroundColor);
  background-color: var(--gse-ui-button-ghost-default-backgroundColor);
}
button.gux-ghost:hover:enabled {
  color: var(--gse-ui-button-ghost-hover-foregroundColor);
  background-color: var(--gse-ui-button-ghost-hover-backgroundColor);
}
button.gux-ghost:active:enabled {
  color: var(--gse-ui-button-ghost-active-foregroundColor);
  background-color: var(--gse-ui-button-ghost-active-backgroundColor);
}
button.gux-danger {
  color: var(--gse-ui-button-danger-default-foregroundColor);
  background-color: var(--gse-ui-button-danger-default-backgroundColor);
}
button.gux-danger:hover:enabled {
  color: var(--gse-ui-button-danger-hover-foregroundColor);
  background-color: var(--gse-ui-button-danger-hover-backgroundColor);
}
button.gux-danger:active:enabled {
  color: var(--gse-ui-button-danger-active-foregroundColor);
  background-color: var(--gse-ui-button-danger-active-backgroundColor);
}
button.gux-inline {
  min-inline-size: initial;
  block-size: initial;
  min-block-size: initial;
  padding: 0;
  color: var(--gse-ui-links-default-foregroundColor);
  background: none;
  border: none;
  border-radius: 0;
}
button.gux-inline[disabled] {
  color: var(--gse-ui-links-disabled-foregroundColor);
}
button.gux-inline:hover:enabled {
  color: var(--gse-ui-links-hover-foregroundColor);
  text-decoration: underline;
  background: none;
}
button.gux-inline:active:enabled {
  color: var(--gse-ui-links-active-foregroundColor);
  text-decoration: underline;
  background: none;
}
button.gux-copilot {
  color: var(--gse-ui-button-primary-default-foregroundColor);
  background: linear-gradient(64deg, var(--gse-ui-copilotButton-default-backgroundColor-bottomLeft) 5.51%, var(--gse-ui-copilotButton-default-backgroundColor-middle) 48.28%, var(--gse-ui-copilotButton-default-backgroundColor-topRight) 88.65%);
  box-shadow: var(--gse-ui-copilotButton-glow-default);
}
button.gux-copilot:hover:enabled {
  color: var(--gse-ui-button-primary-hover-foregroundColor);
  background: linear-gradient(54deg, var(--gse-ui-copilotButton-hover-backgroundColor-bottomLeft) 7.09%, var(--gse-ui-copilotButton-hover-backgroundColor-middle) 47.64%, var(--gse-ui-copilotButton-hover-backgroundColor-topRight) 103.51%);
  box-shadow: var(--gse-ui-copilotButton-glow-hover);
}
button.gux-copilot:active:enabled {
  color: var(--gse-ui-button-primary-active-foregroundColor);
  background: linear-gradient(54deg, var(--gse-ui-copilotButton-active-backgroundColor-bottomLeft) 7.17%, var(--gse-ui-copilotButton-active-backgroundColor-middle) 46.7%, var(--gse-ui-copilotButton-active-backgroundColor-topRight) 83.3%);
  box-shadow: var(--gse-ui-copilotButton-glow-active);
}