// Base class
//
// Requires one of the contextual, color modifier classes for `color` and
// `background-color`.

.badge {
  // scss-docs-start badge-css-vars
  --#{$prefix}badge-padding-x: #{$badge-padding-x};
  --#{$prefix}badge-padding-y: #{$badge-padding-y};
  @include rfs($badge-font-size, --#{$prefix}badge-font-size);
  --#{$prefix}badge-font-weight: #{$badge-font-weight};
  --#{$prefix}badge-color: #{$badge-color};
  --#{$prefix}badge-border-radius: #{$badge-border-radius};
  // scss-docs-end badge-css-vars

  display: inline-block;
  padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);
  @include font-size(var(--#{$prefix}badge-font-size));
  font-weight: var(--#{$prefix}badge-font-weight);
  line-height: 1;
  color: var(--#{$prefix}badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  @include border-radius(var(--#{$prefix}badge-border-radius));
  @include gradient-bg();

  // Empty badges collapse automatically
  &:empty {
    display: none;
  }
}

// Quick fix for badges in buttons
.btn .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  border-radius: 10rem !important; // stylelint-disable-line property-disallowed-list
}

.badge.badge-sm {
  padding: calc((14px - .625rem) / 2) .25rem; // stylelint-disable-line function-disallowed-list
  font-size: .625rem;
  border-radius: 2px; // stylelint-disable-line property-disallowed-list
}

.badge.badge-lg {
  padding: calc((28px - 1rem) / 2) .75rem; // stylelint-disable-line function-disallowed-list
  font-size: 1rem;
}

.badge.bg-danger {
  background-color: #da212c;
}

.badge.bg-warning {
  --bs-badge--color: #252a2e;
  background-color: #fbad26;
}

@include color-mode(dark) {
  .badge.bg-primary,
  .badge.text-bg-primary {
    --bs-primary-rgb: 1, 154, 235;
    color: #171c1e !important;
  }

  .badge.bg-high-contrast {
    --bs-badge-color: #171c1e;
    background-color: #f1f1f6;
  }

  .badge.bg-success {
    background-color: #1e8a44;
  }
}
