.GifButton {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  height: 6.25rem;

  background-color: transparent;

  &:hover {
    .gif-unsave-button {
      opacity: 0.8;
    }
  }

  &:last-child {
    margin-bottom: 1rem;
  }

  &.vertical {
    grid-column-end: span 1;
  }

  &.horizontal {
    grid-column-end: span 2;
  }

  &.interactive {
    cursor: var(--custom-cursor, pointer);
  }

  .thumbnail {
    width: 100%;
    height: 100%;
    background: transparent no-repeat center;
    background-size: cover !important;
  }

  .preview, video {
    user-select: none;

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    -webkit-touch-callout: none;
  }

  .Spinner {
    pointer-events: none;
    position: absolute;
  }

  .gif-unsave-button {
    position: absolute;
    z-index: 1;
    top: 0.25rem;
    right: 0.25rem;

    width: 1rem;
    height: 1rem;
    padding: 0.125rem;
    border-radius: 0.25rem;

    opacity: 0;

    transition: 0.15s opacity ease-in-out;

    &-icon {
      font-size: 0.75rem;
    }
  }

  .gif-context-menu {
    position: absolute;

    .bubble {
      --offset-y: 0;

      width: auto;
    }
  }
}
