/**
 * scroll-to-top.css
 */

/* Component: Scroll to Top */
.scroll-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  border-radius: 24px;
  background: var(--color-black);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: var(--global-transition), opacity 0.2s ease-out, visibility 0s linear 0.2s, transform 0.2s ease-out;
  z-index: 50;

  .scroll-to-top-icon {
    display: block;
    width: 24px;
    height: 24px;
    background: var(--color-white);
    mask: url('../../images/icons/icon-arrow-up-stroke-48x48.png') no-repeat center / contain;
    -webkit-mask: url('../../images/icons/icon-arrow-up-stroke-48x48.png') no-repeat center / contain;
  }

  &:hover,
  &:focus {
    background: var(--color-black-light);
    outline: 3px solid color-mix(in srgb, var(--color-black) 15%, transparent);
  }

  &.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
  }
}

@media (max-width: 767px) {
  .scroll-to-top {
    width: 40px;
    height: 40px;
    border-radius: 20px;

    .scroll-to-top-icon {
      width: 20px;
      height: 20px;
    }
  }
}
