@mixin abstract-reel() {
  --unitone--gap: var(--unitone--global--gap);
  --unitone--height: auto;
  --unitone--item-width: calc(var(--unitone--measure) / 2);
  --unitone--scrollbar-thumb-color: #ddd;
  --unitone--scrollbar-track-color: transparent;

  display: flex;
  gap: var(--unitone--gap);
  height: var(--unitone--height);
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: var(--unitone--s-2);
  scrollbar-color: var(--unitone--scrollbar-thumb-color) var(--unitone--scrollbar-track-color);
  scrollbar-width: 1rem;

  &::-webkit-scrollbar {
    height: 1rem;
  }

  &::-webkit-scrollbar-track {
    background-color: var(--unitone--scrollbar-track-color);
  }

  &::-webkit-scrollbar-thumb {
    background-color: var(--unitone--scrollbar-track-color);
    background-image: linear-gradient(
      var(--unitone--scrollbar-track-color) 0,
      var(--unitone--scrollbar-track-color) 0.375rem,
      var(--unitone--scrollbar-thumb-color) 0.375rem,
      var(--unitone--scrollbar-thumb-color) 0.625rem,
      var(--unitone--scrollbar-track-color) 0.625rem
    );
  }

  > * {
    flex: 0 0 var(--unitone--item-width);
    min-width: 0;
  }

  &[data-unitone-layout~="-no-bar"] {
    scrollbar-width: none;
    padding-bottom: 0;

    &::-webkit-scrollbar {
      display: none;
    }
  }
}

@mixin reel() {
  [data-unitone-layout~="reel"] {
    @include abstract-reel();
  }
}
