/* Scroll fade indicators for scrollable containers */

/* Horizontal scroll fade */
.scroll-fade-horizontal {
  position: relative;
}

.scroll-fade-horizontal::before,
.scroll-fade-horizontal::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 24px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 10;
}

.scroll-fade-horizontal::before {
  left: -1rem;
  background: linear-gradient(to right, white, transparent);
}

.scroll-fade-horizontal.has-overflow-left::before {
  opacity: 1;
}

.scroll-fade-horizontal::after {
  right: -1rem;
  background: linear-gradient(to left, white, transparent);
}

.scroll-fade-horizontal.has-overflow-right::after {
  opacity: 1;
}

/* Vertical scroll fade */
.scroll-fade-vertical {
  position: relative;
}

.scroll-fade-vertical::before,
.scroll-fade-vertical::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 24px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 10;
}

.scroll-fade-vertical::before {
  top: 0;
  background: linear-gradient(to bottom, white, transparent);
}

.scroll-fade-vertical.has-overflow-top::before {
  opacity: 1;
}

.scroll-fade-vertical::after {
  bottom: 0;
  background: linear-gradient(to top, white, transparent);
}

.scroll-fade-vertical.has-overflow-bottom::after {
  opacity: 1;
}
