SLink {
  display: inline;
  align-items: center;
  color: var(--intergalactic-text-link, oklch(0.53 0.21 263));
  position: relative;
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  background: none;
  transition: color 0.15s ease-in-out;

  &::-moz-focus-inner {
    border: none;
    padding: 0;
  }

  &[active],
  &:hover,
  &:active {
    color: var(--intergalactic-text-link-hover-active, oklch(0.51 0.202 263));

    & SText {
      text-decoration-color: currentColor;
    }
  }

  &[enableVisited]:visited,
  &[enableVisited]:visited:hover {
    color: var(--intergalactic-text-link-visited, oklch(0.53 0.26 296));
  }
}

SLink[visually-disabled] {
  opacity: var(--intergalactic-disabled-opacity, 0.4);
  cursor: default;
  /* Disable link interactions */
  pointer-events: none;
}

SLink[noWrap] {
  white-space: nowrap;
}

SLink[inline] {
  display: inline;
}

SInner {
  align-items: baseline;
  height: 100%;
  width: 100%;
}

SAddon {
  pointer-events: none;
  vertical-align: middle;
  display: inline-flex;
  margin-top: -2.5px;
}

SLink SAddon {
  &:not(:only-child):first-child {
    margin-right: var(--intergalactic-spacing-1x, 4px);
  }

  &:not(:only-child):last-child {
    margin-left: var(--intergalactic-spacing-1x, 4px);
  }
}

SText {
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 1px;
  text-decoration-color: transparent;
  text-underline-offset: 17%;

  transition: text-decoration-color 0.15s ease-in-out;
}

SLink[text-color] {
  color: var(--text-color);

  &[active],
  &:hover,
  &:active {
    color: var(--text-color);
    filter: brightness(0.8);
  }
}

@media (prefers-reduced-motion) {
  SLink {
    transition: none;
  }

  SText {
    transition: none;
  }
}
