@layer ed-utilities {
  /* Apply Flexbox with 0 specificity to ensure a justify-content util produces a visible change */
  :where(
    .ed-justify-content-start,
    .ed-justify-content-end,
    .ed-justify-content-center,
    .ed-justify-content-space-around,
    .ed-justify-content-space-between,
    .ed-justify-content-space-evenly
  ) {
    display: flex;
  }

  /* The display above beats the user-agent [hidden] rule. until-found hides by content-visibility
     and keeps its box. */
  [class*='ed-justify-content-'][hidden]:not([hidden='until-found' i]) {
    display: none;
  }

  .ed-justify-content-start {
    justify-content: flex-start;
  }
  .ed-justify-content-end {
    justify-content: flex-end;
  }
  .ed-justify-content-center {
    justify-content: center;
  }
  .ed-justify-content-space-around {
    justify-content: space-around;
  }
  .ed-justify-content-space-between {
    justify-content: space-between;
  }
  .ed-justify-content-space-evenly {
    justify-content: space-evenly;
  }
}
