:root,
:host {
  /* General */
  --va-badge-py: 0;
  --va-badge-font-size: 0.563rem;
  --va-badge-border: 0.125rem;
  --va-badge-size: calc(var(--va-badge-font-size) * var(--va-badge-line-height) + var(--va-badge-border) * 2);
  --va-badge-line-height: 1.4;
  --va-badge-margin: 0;
  --va-badge-width: fit-content;
  /* Dot */
  --va-badge-dot-size: 0.5rem;
  /* Text wrapper */
  --va-badge-text-wrapper-transition: 0.2s cubic-bezier(0.4, 0, 0.6, 1);
  --va-badge-text-wrapper-display: inline-flex;
  --va-badge-text-wrapper-border: solid 0.125rem;
  --va-badge-text-wrapper-border-radius: 0.125rem;
  --va-badge-text-wrapper-font-weight: 700;
  --va-badge-text-wrapper-line-height: 1.4;
  --va-badge-text-wrapper-letter-spacing: 0.0375rem;
  --va-badge-text-wrapper-justify-content: center;
  --va-badge-text-wrapper-white-space: nowrap;
  --va-badge-text-wrapper-width: min-content;
  --va-badge-text-wrapper-height: auto;
  --va-badge-text-wrapper-min-width: initial;
  --va-badge-text-wrapper-min-height: initial;
  --va-badge-text-wrapper-margin: 0;
  --va-badge-text-transform: uppercase;
  /* Text */
  --va-badge-text-py: 0;
  --va-badge-text-px: 0.25rem;
}
.va-badge {
  display: inline-flex;
  position: relative;
  font-family: var(--va-font-family);
  width: var(--va-badge-width);
}
.va-badge__text-wrapper {
  transition: var(--va-badge-text-wrapper-transition, var(--va-transition));
  display: var(--va-badge-text-wrapper-display);
  border: var(--va-badge-text-wrapper-border, var(--va-control-border));
  border-radius: var(--va-badge-text-wrapper-border-radius);
  font-weight: var(--va-badge-text-wrapper-font-weight);
  line-height: var(--va-badge-text-wrapper-line-height);
  letter-spacing: var(--va-badge-text-wrapper-letter-spacing, var(--va-letter-spacing));
  justify-content: var(--va-badge-text-wrapper-justify-content);
  align-items: center;
  white-space: var(--va-badge-text-wrapper-white-space);
  width: var(--va-badge-text-wrapper-width);
  height: var(--va-badge-text-wrapper-height);
  min-width: var(--va-badge-text-wrapper-min-width);
  min-height: var(--va-badge-text-wrapper-min-height);
  margin: var(--va-badge-text-wrapper-margin);
}
.va-badge--visible-empty .va-badge__text-wrapper {
  min-width: var(--va-badge-size);
  min-height: var(--va-badge-size);
}
.va-badge--dot .va-badge__text-wrapper {
  min-width: var(--va-badge-dot-size);
  min-height: var(--va-badge-dot-size);
  border-width: 0;
  border-radius: 100%;
  padding: 0;
}
.va-badge--empty .va-badge__text-wrapper {
  width: 0;
  height: 0;
  min-width: 0;
  min-height: 0;
  border-width: 0;
}
.va-badge--multi-line .va-badge__text-wrapper {
  white-space: normal;
}
.va-badge--floating .va-badge__text-wrapper {
  position: absolute;
  z-index: 2;
}
.va-badge__text {
  margin: var(--va-badge-margin);
  text-transform: var(--va-badge-text-transform);
  overflow: hidden;
  min-width: calc(var(--va-badge-font-size) * var(--va-badge-line-height));
  padding: var(--va-badge-text-py) var(--va-badge-text-px);
  text-align: center;
  display: inline-flex;
  justify-content: center;
  text-overflow: clip;
  white-space: nowrap;
  font-size: var(--va-badge-font-size);
}
.va-badge--multi-line .va-badge__text {
  overflow: auto;
  max-height: initial;
  text-align: initial;
  text-overflow: initial;
  white-space: normal;
}
.va-badge--dot .va-badge__text {
  display: none;
}
.va-badge--floating .va-badge__text {
  align-items: center;
  padding: var(--va-badge-py) 0.15rem;
}