/* Low specificity preserves component visibility rules (hover, drag, etc.). */
:where(body .bi) {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}

/* Override the legacy theme's body .bi:before { vertical-align: sub }. */
body .bi::before {
  display: block;
  line-height: 1;
  vertical-align: 0;
}

/* Input addons already center their children with flex. Neutralize the legacy
   .input-group-text i { margin-top: -10px } without affecting other icons,
   visibility rules or intentional horizontal spacing. */
.input-group-text > .bi {
  margin-top: 0;
}
