.c__tooltip {
  border-radius: var(--c--components--tooltip--border-radius);
  background: var(--c--components--tooltip--background-color);
  color: var(--c--components--tooltip--color);
  font-size: var(--c--components--tooltip--font-size);
  forced-color-adjust: none;
  outline: none;
  box-shadow: 0 1px 5.4px 0 rgba(0, 0, 0, 0.15);
  border: 1px solid var(--c--components--tooltip--border-color);
  padding: var(--c--components--tooltip--padding);
  max-width: var(--c--components--tooltip--max-width);
  display: flex;
  /* fixes FF gap */
  transform: translate3d(0, 0, 0);
  --animation-duration: 200ms;

  &[data-placement=top] {
    margin-bottom: 8px;
    --origin: translateY(4px);

    .react-aria-OverlayArrow {
      left: 50%;
    }
  }

  &[data-placement=bottom] {
    margin-top: 8px;
    --origin: translateY(-4px);

    .react-aria-OverlayArrow {
      left: 50%;

      svg {
        transform: rotate(180deg);
      }
    }
  }

  &[data-placement=right] {
    margin-left: 8px;
    --origin: translateX(-4px);

    .react-aria-OverlayArrow {
      top: 50%;

      svg {
        transform: rotate(90deg);
      }
    }
  }

  &[data-placement=left] {
    margin-right: 8px;
    --origin: translateX(4px);

    .react-aria-OverlayArrow {
      top: 50%;

      svg {
        transform: rotate(-90deg);
      }
    }
  }

  & .react-aria-OverlayArrow svg {
    display: block;
    fill: var(--c--components--tooltip--background-color);
  }

  &--entering {
    animation: slide var(--animation-duration);
  }

  &--exiting {
    animation: slide var(--animation-duration) reverse forwards;
  }

  &__content {
    overflow: auto;
  }
}

@keyframes slide {
  from {
    transform: var(--origin);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}
