:host {
  --md-button-foreground-color: inherit;

  --md-button-background-color: transparent;

  --md-button-rounded-border-radius: 2rem;

  --md-button-font-size: 1rem;

  --md-button-inline-start-space: 1.5rem;
  --md-button-inline-end-space: 1.5rem;
  --md-button-block-start-space: 0.625rem;
  --md-button-block-end-space: 0.625rem;
  --md-button-border-size: 0;

  --md-button-pressed-state-color: transparent;

  --md-button-pressed-state-opacity: 12%;
  --md-button-hovered-state-opacity: 8%;

  --md-button-border-color: transparent;

  --md-button-border-radius: 6.25rem;

  --_container-height: 20px;
  --_container-space-left: var(--md-button-inline-start-space);
  --_container-space-right: var(--md-button-inline-end-space);
  --_container-space-top: var(--md-button-block-start-space);
  --_container-space-bottom: var(--md-button-block-end-space);
  --_container-bg-color: var(--md-button-background-color);
  --_container-fg-color: var(--md-button-foreground-color);
  --_container-border-size: var(--md-button-border-size);
  --_container-border-color: var(--md-button-border-color);

  --_container-pressed-state-color: var(--md-button-pressed-state-color);
}

::slotted([slot="icon"]) {
  font-size: 1.125rem;
}

.button {
  gap: 0.5rem;
}

.button__icon-wrapper {
  display: flex;
}

.button:has(.button__icon-wrapper) {
  display: flex;
  align-items: center;

  --_container-space-left: 1rem;
}

.button_icon {
  --_container-space-left: 1rem;
}

:host {
  display: flex;
  position: relative;
  inline-size: fit-content;
  box-sizing: border-box;
  text-wrap: nowrap;
  user-select: none;
  cursor: pointer;
  border-radius: var(--md-button-border-radius);

  background-color: var(--_container-bg-color);
  color: var(--_container-fg-color);
  min-height: var(--_container-height);

  line-height: 1.25rem;
}

:host([disabled]) {
  cursor: not-allowed;
}
