/* Shared thumb colours keep native and project scrollbars in the same palette. */
:root {
  --rw-scrollbar-thumb: var(--rw-text-muted);
  --rw-scrollbar-thumb-hover: var(--rw-text-secondary);
}
:root[data-theme="dark"] {
  --rw-scrollbar-thumb: var(--rw-base-color-737373);
  --rw-scrollbar-thumb-hover: var(--rw-text-muted);
}

/* Page and dialog scrollbars remain native, including OS visibility preferences. */
html, dialog, .shell12-layout_content-right.padding-medium,
.overflow-auto, .overflow-scroll { scrollbar-gutter: stable; }
html:has(dialog:modal) { overflow: hidden; }
dialog { overscroll-behavior: contain; }
@media (forced-colors: none) {
  html { scrollbar-color: var(--rw-scrollbar-thumb) transparent; }
}

/* One bounded scroll viewport serves both versions of the project navigation. */
.rw-project-scroll {
  box-sizing: border-box; position: relative; height: 100%; min-height: 0; width: 100%;
  padding: 12px; overflow: auto; overscroll-behavior: contain;
  scrollbar-width: thin; scrollbar-gutter: stable;
}
.rw-project-scroll[data-overlayscrollbars] { scrollbar-gutter: auto; }
.rw-project-scroll [data-overlayscrollbars-viewport] { overscroll-behavior: contain; }
.rw-project-scroll:focus-visible { outline: 2px solid var(--rw-card-focus-color); outline-offset: -3px; }
.case-study .review-work-navigation { padding: 0; overflow: hidden; scrollbar-gutter: auto; }
.project-navigation.w-nav .sidebar4_menu-wrapper {
  height: 100%; min-height: 0; margin: 0; padding: 0; overflow: hidden;
}
.project-navigation .work-list-wrapper { height: 100%; min-height: 0; }
@media (forced-colors: active) {
  .rw-project-scroll { scrollbar-width: auto; }
}
@media (min-width: 992px) {
  .project-navigation.w-nav { overflow: hidden; }
  .project-navigation .hide-scrollbar {
    height: 100%; min-height: 0; margin: 0; padding: 0; overflow: hidden;
  }
}
@media (max-width: 991px) {
  /* The TILT panel has auto height between its insets; its child needs a definite height. */
  .case-study .review-work-navigation .rw-project-scroll {
    height: min(75vh, calc(100vh - 172px));
  }
}
