*:has(> .scrollable-content) {
  position: relative;
}

.scrollable-content {
  height: 100%;
  padding: 24px;
  overflow-y: scroll;
  box-sizing: border-box;
}

.scrollable-content::-webkit-scrollbar {
  width: 0;
  background: transparent;
}

.scrollable-content {
  scrollbar-width: none;
}

.custom-scrollbar-track {
  position: absolute;
  right: 10px;
  top: 10px;
  bottom: 10px;
  width: 8px;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 10;
}

*:has(.scrollable-content):hover .custom-scrollbar-track {
  opacity: 1;
}

.custom-scrollbar-track.active {
  opacity: 1;
}

.custom-scrollbar-thumb {
  position: absolute;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 4px;
  cursor: grab;
  transition: background-color 0.2s ease;
}

.custom-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.6);
}

.custom-scrollbar-thumb.active {
  cursor: grabbing;
  background-color: rgba(0, 0, 0, 0.7);
}
