.IconButtonNext {
  --icon-button-bg-color: var(--color-background-action);
  --icon-button-bg-color-hover: var(--color-background-action-hover);
  --icon-button-bg-color-active: var(--color-background-action-pressed);
  --icon-button-font-color: var(--color-content-action-on);
  block-size: var(--icon-button-size);
  inline-size: var(--icon-button-size);
  padding: 0;
  box-sizing: border-box;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  color: var(--icon-button-font-color);
  background-color: var(--icon-button-bg-color);
  opacity: 1;
  border-radius: var(--icon-button-border-radius);
  transition:
    background-color var(--transition-default),
    box-shadow var(--transition-default),
    opacity var(--transition-default);
  -webkit-tap-highlight-color: transparent;
  position: relative;
}

  .IconButtonNext_size_2xs {
    --icon-button-size: 32px;
    --icon-button-border-radius: var(--border-radius-m);
  }

  .IconButtonNext_size_2xs.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
    --icon-button-size: 24px;
  }

  .IconButtonNext_size_xs {
    --icon-button-size: 40px;
    --icon-button-border-radius: var(--border-radius-m);
  }

  .IconButtonNext_size_xs.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
    --icon-button-size: 28px;
  }

  .IconButtonNext_size_s {
    --icon-button-size: 48px;
    --icon-button-border-radius: var(--border-radius-l);
  }

  .IconButtonNext_size_s.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
    --icon-button-size: 32px;
  }

  .IconButtonNext_size_m {
    --icon-button-size: 56px;
    --icon-button-border-radius: var(--border-radius-l);
  }

  .IconButtonNext_size_m.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
    --icon-button-size: 40px;
  }

  .IconButtonNext_size_l {
    --icon-button-size: 64px;
    --icon-button-border-radius: var(--border-radius-m);
  }

  .IconButtonNext_size_l.IconButtonNext_compressed:not(.IconButtonNext_variant_function) {
    --icon-button-size: 48px;
  }

  /** contained */

  .IconButtonNext_variant_contained.IconButtonNext_color_primary {
    --icon-button-bg-color: var(--color-background-action);
    --icon-button-bg-color-hover: var(--color-background-action-hover);
    --icon-button-bg-color-active: var(--color-background-action-pressed);
    --icon-button-bg-color-focus: var(--color-background-action-hover);
    --icon-button-font-color: var(--color-content-action-on);
    --icon-button-font-color-hover: var(--color-content-action-on);
    --icon-button-font-color-active: var(--color-content-action-on);
    --icon-button-font-color-focus: var(--color-content-action-on);
  }

  .IconButtonNext_variant_contained.IconButtonNext_color_secondary {
    --icon-button-bg-color: var(--color-content-action-secondary);
    --icon-button-bg-color-hover: var(--color-content-action-secondary-hover);
    --icon-button-bg-color-active: var(
      --color-content-action-secondary-pressed
    );
    --icon-button-bg-color-focus: var(--color-content-action-secondary-hover);
    --icon-button-font-color: var(--color-content-action-on);
    --icon-button-font-color-hover: var(--color-content-action-on);
    --icon-button-font-color-active: var(--color-content-action-on);
    --icon-button-font-color-focus: var(--color-content-action-on);
  }

  .IconButtonNext_variant_contained.IconButtonNext_color_tertiary {
    --icon-button-bg-color: var(--color-background-tertiary);
    --icon-button-bg-color-hover: var(--color-background-tertiary-hover);
    --icon-button-bg-color-active: var(--color-background-tertiary-pressed);
    --icon-button-bg-color-focus: var(--color-background-tertiary-hover);
    --icon-button-font-color: var(--color-content-primary);
    --icon-button-font-color-hover: var(--color-content-primary);
    --icon-button-font-color-active: var(--color-content-primary);
    --icon-button-font-color-focus: var(--color-content-primary);
  }

  .IconButtonNext_variant_contained.IconButtonNext_color_error {
    --icon-button-bg-color: var(--color-background-error);
    --icon-button-bg-color-hover: var(--color-background-error-hover);
    --icon-button-bg-color-active: var(--color-background-error-pressed);
    --icon-button-bg-color-focus: var(--color-background-error-hover);
    --icon-button-font-color: var(--color-content-action-on);
    --icon-button-font-color-hover: var(--color-content-action-on);
    --icon-button-font-color-active: var(--color-content-action-on);
    --icon-button-font-color-focus: var(--color-content-action-on);
  }

  /** contained-additional */

  .IconButtonNext_variant_contained-additional.IconButtonNext_color_primary {
    --icon-button-bg-color: var(--color-background-action-light);
    --icon-button-bg-color-hover: var(--color-background-action-light-hover);
    --icon-button-bg-color-active: var(--color-background-action-light-pressed);
    --icon-button-bg-color-focus: var(--color-background-action-light-hover);
    --icon-button-font-color: var(--color-content-action);
    --icon-button-font-color-hover: var(--color-content-action);
    --icon-button-font-color-active: var(--color-content-action);
    --icon-button-font-color-focus: var(--color-content-action);
  }

  .IconButtonNext_variant_contained-additional.IconButtonNext_color_secondary {
    --icon-button-bg-color: var(--color-background-secondary);
    --icon-button-bg-color-hover: var(--color-background-secondary-hover);
    --icon-button-bg-color-active: var(--color-background-secondary-pressed);
    --icon-button-bg-color-focus: var(--color-background-secondary-hover);
    --icon-button-font-color: var(--color-content-primary);
    --icon-button-font-color-hover: var(--color-content-primary);
    --icon-button-font-color-active: var(--color-content-primary);
    --icon-button-font-color-focus: var(--color-content-primary);
  }

  .IconButtonNext_variant_contained-additional.IconButtonNext_color_tertiary {
    --icon-button-bg-color: var(--color-background-primary);
    --icon-button-bg-color-hover: var(--color-background-primary-hover);
    --icon-button-bg-color-active: var(--color-background-primary-pressed);
    --icon-button-bg-color-focus: var(--color-background-primary-hover);
    --icon-button-font-color: var(--color-content-secondary);
    --icon-button-font-color-hover: var(--color-content-secondary);
    --icon-button-font-color-active: var(--color-content-secondary);
    --icon-button-font-color-focus: var(--color-content-secondary);
  }

  .IconButtonNext_variant_contained-additional.IconButtonNext_color_error {
    --icon-button-bg-color: var(--color-background-error-light);
    --icon-button-bg-color-hover: var(--color-background-error-light-hover);
    --icon-button-bg-color-active: var(--color-background-error-light-pressed);
    --icon-button-bg-color-focus: var(--color-background-error-light-hover);
    --icon-button-font-color: var(--color-content-error);
    --icon-button-font-color-hover: var(--color-content-error);
    --icon-button-font-color-active: var(--color-content-error);
    --icon-button-font-color-focus: var(--color-content-error);
  }

  /** ghost */

  .IconButtonNext_variant_ghost.IconButtonNext_color_primary {
    --icon-button-bg-color: transparent;
    --icon-button-bg-color-hover: var(--color-background-action-light-hover);
    --icon-button-bg-color-active: var(--color-background-action-light-pressed);
    --icon-button-bg-color-focus: var(--color-background-action-light-hover);
    --icon-button-font-color: var(--color-content-action);
    --icon-button-font-color-hover: var(--color-content-action);
    --icon-button-font-color-active: var(--color-content-action);
    --icon-button-font-color-focus: var(--color-content-action);
  }

  .IconButtonNext_variant_ghost.IconButtonNext_color_secondary {
    --icon-button-bg-color: transparent;
    --icon-button-bg-color-hover: var(--color-background-secondary-hover);
    --icon-button-bg-color-active: var(--color-background-secondary-pressed);
    --icon-button-bg-color-focus: var(--color-background-secondary-hover);
    --icon-button-font-color: var(--color-content-primary);
    --icon-button-font-color-hover: var(--color-content-primary);
    --icon-button-font-color-active: var(--color-content-primary);
    --icon-button-font-color-focus: var(--color-content-primary);
  }

  .IconButtonNext_variant_ghost.IconButtonNext_color_tertiary {
    --icon-button-bg-color: transparent;
    --icon-button-bg-color-hover: var(--color-background-primary-hover);
    --icon-button-bg-color-active: var(--color-background-primary-pressed);
    --icon-button-bg-color-focus: var(--color-background-primary-hover);
    --icon-button-font-color: var(--color-content-secondary);
    --icon-button-font-color-hover: var(--color-content-secondary);
    --icon-button-font-color-active: var(--color-content-secondary);
    --icon-button-font-color-focus: var(--color-content-secondary);
  }

  .IconButtonNext_variant_ghost.IconButtonNext_color_error {
    --icon-button-bg-color: transparent;
    --icon-button-bg-color-hover: var(--color-background-error-light-hover);
    --icon-button-bg-color-active: var(--color-background-error-light-pressed);
    --icon-button-bg-color-focus: var(--color-background-error-light-hover);
    --icon-button-font-color: var(--color-content-error);
    --icon-button-font-color-hover: var(--color-content-error);
    --icon-button-font-color-active: var(--color-content-error);
    --icon-button-font-color-focus: var(--color-content-error);
  }

  /** function */

  .IconButtonNext_variant_function {
    --icon-button-size: auto;
    --icon-button-border-radius: var(--border-radius-xs);
  }

  .IconButtonNext_variant_function.IconButtonNext_color_primary,
  .IconButtonNext_variant_function.IconButtonNext_color_secondary,
  .IconButtonNext_variant_function.IconButtonNext_color_tertiary,
  .IconButtonNext_variant_function.IconButtonNext_color_error {
    --icon-button-bg-color: transparent;
    --icon-button-bg-color-hover: transparent;
    --icon-button-bg-color-active: transparent;
  }

  .IconButtonNext_variant_function.IconButtonNext_color_primary {
    --icon-button-font-color: var(--color-content-action);
    --icon-button-font-color-hover: var(--color-background-action-hover);
    --icon-button-font-color-active: var(--color-background-action-pressed);
    --icon-button-font-color-focus: var(--color-background-action-pressed);
  }

  .IconButtonNext_variant_function.IconButtonNext_color_secondary {
    --icon-button-font-color: var(--color-content-action-secondary);
    --icon-button-font-color-hover: var(--color-content-action-secondary-hover);
    --icon-button-font-color-active: var(
      --color-content-action-secondary-pressed
    );
    --icon-button-font-color-focus: var(
      --color-content-action-secondary-pressed
    );
  }

  .IconButtonNext_variant_function.IconButtonNext_color_tertiary {
    --icon-button-font-color: var(--color-content-secondary);
    --icon-button-font-color-hover: var(--color-content-secondary);
    --icon-button-font-color-active: var(--color-content-secondary);
    --icon-button-font-color-focus: var(--color-content-secondary);
  }

  .IconButtonNext_variant_function.IconButtonNext_color_error {
    --icon-button-font-color: var(--color-content-error);
    --icon-button-font-color-hover: var(--color-content-error-hover);
    --icon-button-font-color-active: var(--color-content-error-pressed);
    --icon-button-font-color-focus: var(--color-content-error-pressed);
  }

  /** floating */

  .IconButtonNext_variant_floating {
    --icon-button-bg-color: var(--color-background-main);
    --icon-button-bg-color-hover: var(--color-background-main-hover);
    --icon-button-bg-color-active: var(--color-background-main-pressed);
    --icon-button-bg-color-focus: var(--color-background-main);
    --icon-button-font-color: var(--color-content-primary);
    --icon-button-font-color-active: var(--color-content-primary);
    --icon-button-font-color-focus: var(--color-content-primary);
  }

  .IconButtonNext_variant_floating::after {
      content: '';
      inset: 0;
      position: absolute;
      inline-size: 100%;
      border-radius: inherit;
      box-shadow: 0 8px 32px rgb(0 0 0 / 8%);
    }

  /** rounded */

  .IconButtonNext_variant_contained.IconButtonNext_rounded,
  .IconButtonNext_variant_contained-additional.IconButtonNext_rounded,
  .IconButtonNext_variant_ghost.IconButtonNext_rounded,
  .IconButtonNext_variant_floating.IconButtonNext_rounded {
    border-radius: 50%;
  }

  /** disabled & loading */

  .IconButtonNext_variant_contained.IconButtonNext_disabled,
  .IconButtonNext_variant_contained.IconButtonNext_loading,
  .IconButtonNext_variant_contained-additional.IconButtonNext_disabled,
  .IconButtonNext_variant_contained-additional.IconButtonNext_loading,
  .IconButtonNext_variant_ghost.IconButtonNext_disabled,
  .IconButtonNext_variant_ghost.IconButtonNext_loading,
  .IconButtonNext_variant_function.IconButtonNext_disabled,
  .IconButtonNext_variant_function.IconButtonNext_loading,
  .IconButtonNext_variant_floating.IconButtonNext_disabled,
  .IconButtonNext_variant_floating.IconButtonNext_loading {
    --icon-button-font-color: var(--color-content-disabled);
  }

  .IconButtonNext_variant_contained.IconButtonNext_disabled svg, .IconButtonNext_variant_contained.IconButtonNext_loading svg, .IconButtonNext_variant_contained-additional.IconButtonNext_disabled svg, .IconButtonNext_variant_contained-additional.IconButtonNext_loading svg, .IconButtonNext_variant_ghost.IconButtonNext_disabled svg, .IconButtonNext_variant_ghost.IconButtonNext_loading svg, .IconButtonNext_variant_function.IconButtonNext_disabled svg, .IconButtonNext_variant_function.IconButtonNext_loading svg, .IconButtonNext_variant_floating.IconButtonNext_disabled svg, .IconButtonNext_variant_floating.IconButtonNext_loading svg {
      color: currentcolor;
    }

  .IconButtonNext_variant_contained.IconButtonNext_disabled,
  .IconButtonNext_variant_contained.IconButtonNext_loading,
  .IconButtonNext_variant_contained-additional.IconButtonNext_disabled,
  .IconButtonNext_variant_contained-additional.IconButtonNext_loading,
  .IconButtonNext_variant_floating.IconButtonNext_disabled,
  .IconButtonNext_variant_floating.IconButtonNext_loading {
    --icon-button-bg-color: var(--color-background-disabled);
    --icon-button-bg-color-hover: var(--color-background-disabled);
    --icon-button-bg-color-active: var(--color-background-disabled);
  }

  .IconButtonNext_variant_ghost.IconButtonNext_disabled,
  .IconButtonNext_variant_ghost.IconButtonNext_loading,
  .IconButtonNext_variant_function.IconButtonNext_disabled,
  .IconButtonNext_variant_function.IconButtonNext_loading {
    --icon-button-bg-color: transparent;
    --icon-button-bg-color-hover: transparent;
    --icon-button-bg-color-active: transparent;
  }

  /** focus */

  .IconButtonNext:focus:not(:focus-visible, :active, :hover) {
    box-shadow: none;
    color: var(--icon-button-font-color);
    background-color: var(--icon-button-bg-color);
  }

  .IconButtonNext:focus {
    outline: 0;

    /* the bug in outline property before chrome version 94 — doesn't repeat radius of an element */
    box-shadow: var(--shadow-outline-focused);
    color: var(--icon-button-font-color-focus);
    background-color: var(--icon-button-bg-color-focus);
  }

  .IconButtonNext:focus:not(:focus-visible) {
    box-shadow: none;
  }

  /** hover */

  .IconButtonNext:hover {
    background-color: var(--icon-button-bg-color-hover);
    color: var(--icon-button-font-color-hover);
  }

  /** active */

  .IconButtonNext:active {
    background-color: var(--icon-button-bg-color-active);
    color: var(--icon-button-font-color-active);
  }

  .IconButtonNext_disabled,
  .IconButtonNext_loading {
    pointer-events: none;
    cursor: auto;
  }
