.component-tooltip-container {
  display: flex;
  align-content: center;
  position: relative;
  width: fit-content;
}

.component-tooltip-title {
  margin-inline-end: var(--sp0-25);
}

.component-tooltip-icon {
  cursor: pointer;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color--gray-60);
}

.component-tooltip-icon[data-color="green"] {
  color: var(--color--green);
}

.component-tooltip-icon svg {
  height: var(--sp0-75);
  width: var(--sp0-75);
  color: currentColor;
}

.component-tooltip-icon:focus {
  color: var(--color--gray-40);
}

.component-tooltip-box {
  position: absolute;
  background: var(--color--gray-20);
  color: var(--color--white);
  padding-block: var(--sp0-5);
  padding-inline: var(--sp0-5);
  border-radius: var(--border-radius);
  font-size: var(--font-size-xs);
  max-width: 260px;
  z-index: 25;
  white-space: normal;
  line-height: var(--line-height-s);
  display: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

.component-tooltip-box[aria-hidden="false"] {
  display: block;
}

.tooltip-top {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: var(--sp0-25);
}

.tooltip-right {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  margin-left: var(--sp0-25);
}

.tooltip-bottom {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: var(--sp0-25);
}

.tooltip-left {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  margin-right: var(--sp0-25);
}

.component-tooltip-box::before,
.component-tooltip-box::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
}

.component-tooltip-box::before {
  background: rgba(0, 0, 0, 0.2);
  z-index: -1;
}

.component-tooltip-box::after {
  background: var(--color--gray-20);
}

.tooltip-top::before,
.tooltip-top::after {
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

.tooltip-top::before {
  bottom: -6px;
}

.tooltip-right::before,
.tooltip-right::after {
  left: -5px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.tooltip-right::before {
  left: -6px;
}

.tooltip-bottom::before,
.tooltip-bottom::after {
  top: -5px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

.tooltip-bottom::before {
  top: -6px;
}

.tooltip-left::before,
.tooltip-left::after {
  right: -5px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.tooltip-left::before {
  right: -6px;
}

@media (max-width: 47.5rem) {
  .component-tooltip-box {
    left: 50% !important;
    top: 100% !important;
    bottom: auto !important;
    right: auto !important;
    transform: translateX(-50%);
    margin: var(--sp0-25) 0 0 0 !important;
    max-width: 90vw;
  }

  .component-tooltip-box::before,
  .component-tooltip-box::after {
    top: -5px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
  }

  .component-tooltip-box::before {
    top: -6px;
  }
}