$padding-first: 10px;
$padding-second: 5px;

@if $css-variable-enabled {
  $badge-border-radius: var(--badge-border-radius);
  $badge-font-size: var(--badge-font-size);
  $primary-transition: var(--primary-transition);
}

span.#{$prefix}badge {
  user-select: none;
  display: inline-block;
  $padding: 4px;
  $extra: 4px;
  padding: $padding ($padding + $extra) $padding ($padding + $extra);
  background-color: var(--badge-last-part-bg-color);
  color: var(--badge-only-part-text-color);
  margin: {
    right: 8px;
    bottom: 8px;
  }
  font-size: $badge-font-size;
  border-radius: $badge-border-radius;
  transition: $primary-transition;

  &.#{$prefix}outlined, .#{$prefix}badges-outlined & {
    background-color: $transparent;
    border-style: solid;
    border-width: 2px;
    border-color: rgba(144, 144, 144, 0.3);
    color: var(--text-color-secondary);
  }

  .#{$prefix}badges-rounded & {
    border-radius: 100000px;
  }
}

div.#{$prefix}badge {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: {
    right: 8px;
    bottom: 8px;
  }
  white-space: nowrap;

  span {
    user-select: none;
    padding: 4px;
    margin: 0px;
    font-size: $badge-font-size;
    transition: $primary-transition;
  }

  span:only-of-type {
    user-select: none;
    $padding: 4px;
    $extra: 4px;
    padding: $padding ($padding + $extra) $padding ($padding + $extra);
    background-color: var(--badge-only-part-bg-color);
    color: var(--badge-only-part-text-color);
    border-radius: $badge-border-radius;
  }

  span:first-child:not(:only-of-type) {
    padding-left: $padding-first;
    padding-right: $padding-second;
    background-color: var(--badge-first-part-bg-color);
    color: var(--badge-first-part-text-color);
    border-radius: $badge-border-radius 0 0 $badge-border-radius;
  }

  span:last-child:not(:only-of-type) {
    padding-right: $padding-first;
    padding-left: $padding-second;
    background-color: var(--badge-last-part-bg-color);
    color: var(--badge-last-part-text-color);
    border-radius: 0 $badge-border-radius $badge-border-radius 0;
  }

  &.#{$prefix}rounded, .#{$prefix}badges-rounded & {
    overflow: hidden;
    border-radius: 100000px;
  }
}
