@layer components {
.badge-placement {
  display: inline-block;
  position: relative;
}

.badge-placement__badge {
  position: absolute;
  /* Badge Positioning */
  /* Badge Anchor Position */
}

.badge-placement__badge:where(.badge-placement--bottom-center .badge-placement__badge) {
  left: 50%;
  top: 100%;
}

.badge-placement__badge:where(.badge-placement--bottom-left .badge-placement__badge) {
  left: 0;
  top: 100%;
}

.badge-placement__badge:where(.badge-placement--bottom-right .badge-placement__badge) {
  left: 100%;
  top: 100%;
}

.badge-placement__badge:where(.badge-placement--middle-center .badge-placement__badge) {
  left: 50%;
  top: 50%;
}

.badge-placement__badge:where(.badge-placement--middle-left .badge-placement__badge) {
  left: 0;
  top: 50%;
}

.badge-placement__badge:where(.badge-placement--middle-right .badge-placement__badge) {
  left: 100%;
  top: 50%;
}

.badge-placement__badge:where(.badge-placement--top-center .badge-placement__badge) {
  left: 50%;
  top: 0;
}

.badge-placement__badge:where(.badge-placement--top-left .badge-placement__badge) {
  left: 0;
  top: 0;
}

.badge-placement__badge:where(.badge-placement--top-right .badge-placement__badge) {
  left: 100%;
  top: 0;
}

.badge-placement__badge:where(.badge-placement--anchor-bottom-center .badge-placement__badge) {
  transform: translate(-50%, -100%);
}

.badge-placement__badge:where(.badge-placement--anchor-bottom-left .badge-placement__badge) {
  transform: translate(0, -100%);
}

.badge-placement__badge:where(.badge-placement--anchor-bottom-right .badge-placement__badge) {
  transform: translate(-100%, -100%);
}

.badge-placement__badge:where(.badge-placement--anchor-middle-center .badge-placement__badge) {
  transform: translate(-50%, -50%);
}

.badge-placement__badge:where(.badge-placement--anchor-middle-left .badge-placement__badge) {
  transform: translate(0, -50%);
}

.badge-placement__badge:where(.badge-placement--anchor-middle-right .badge-placement__badge) {
  transform: translate(-100%, -50%);
}

.badge-placement__badge:where(.badge-placement--anchor-top-center .badge-placement__badge) {
  transform: translate(-50%, 0);
}

.badge-placement__badge:where(.badge-placement--anchor-top-left .badge-placement__badge) {
  transform: translate(0, 0);
}

.badge-placement__badge:where(.badge-placement--anchor-top-right .badge-placement__badge) {
  transform: translate(-100%, 0);
}

.badge-placement--disabled .badge-placement__badge {
  display: none;
}

.badge-placement--hover > .badge-placement__badge {
  display: none;
}

.badge-placement--hover:hover > .badge-placement__badge {
  display: block;
}

.badge-placement--focus-within .badge-placement__badge {
  display: none;
}

.badge-placement--focus-within:focus-within .badge-placement__badge {
  display: block;
}

}
