/* Native scrolling, with a shared sage finish on internal scroll areas. */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  html { scrollbar-width: thin; scrollbar-color: #81917f #f0f0e8; }
}

body.mainstream-theme :is(.ms-exclusive-track, .ms-products-menu, .ms-catalog .ms-catalog-brands, .ms-info-links, .modal, .modal-body, .modal-scrollable) {
  scrollbar-width: thin;
  scrollbar-color: #81917f transparent;
}

/* Keep the native grip usable; the transparent inset makes the visible line fine. */
@supports selector(::-webkit-scrollbar) {
  body.mainstream-theme :is(.ms-exclusive-track, .ms-products-menu, .ms-catalog .ms-catalog-brands, .ms-info-links, .modal, .modal-body, .modal-scrollable) {
    scrollbar-width: auto;
    scrollbar-color: auto;
  }

  body.mainstream-theme :is(.ms-exclusive-track, .ms-products-menu, .ms-catalog .ms-catalog-brands, .ms-info-links, .modal, .modal-body, .modal-scrollable)::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }

  body.mainstream-theme :is(.ms-exclusive-track, .ms-products-menu, .ms-catalog .ms-catalog-brands, .ms-info-links, .modal, .modal-body, .modal-scrollable)::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 999px;
  }

  body.mainstream-theme :is(.ms-exclusive-track, .ms-catalog .ms-catalog-brands, .ms-info-links)::-webkit-scrollbar-track:horizontal {
    background: linear-gradient(transparent calc(50% - .5px), #40524726 calc(50% - .5px), #40524726 calc(50% + .5px), transparent calc(50% + .5px));
  }

  body.mainstream-theme :is(.ms-exclusive-track, .ms-products-menu, .ms-catalog .ms-catalog-brands, .ms-info-links, .modal, .modal-body, .modal-scrollable)::-webkit-scrollbar-thumb {
    min-height: 28px;
    min-width: 32px;
    border: 3px solid transparent;
    border-radius: 999px;
    background: #81917f;
    background-clip: padding-box;
  }

  body.mainstream-theme :is(.ms-exclusive-track, .ms-products-menu, .ms-catalog .ms-catalog-brands, .ms-info-links, .modal, .modal-body, .modal-scrollable)::-webkit-scrollbar-thumb:hover {
    background-color: #405247;
  }

  body.mainstream-theme :is(.ms-exclusive-track, .ms-products-menu, .ms-catalog .ms-catalog-brands, .ms-info-links, .modal, .modal-body, .modal-scrollable)::-webkit-scrollbar-corner {
    background: transparent;
  }
}

/* Compact page rail inspired by Dra. Fernanda, with an invisible 24px hit area. */
.ms-page-scrollbar {
  position: fixed;
  z-index: 1040;
  top: 50%;
  right: 14px;
  width: 24px;
  height: clamp(120px, 22vh, 200px);
  transform: translateY(-50%);
  opacity: 0;
  pointer-events: none;
  touch-action: none;
  user-select: none;
  cursor: grab;
  mix-blend-mode: difference;
  transition: opacity 220ms ease-out;
}

.ms-page-scrollbar::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - .5px);
  width: 1px;
  background: #ffffff40;
}

.ms-page-scrollbar__thumb {
  position: absolute;
  top: 0;
  left: calc(50% - 1.5px);
  width: 3px;
  height: var(--ms-scroll-thumb-size, 28px);
  border-radius: 999px;
  background: #fff;
  transform: translateY(var(--ms-scroll-thumb-y, 0px));
  pointer-events: none;
}

html.ms-scrollbar-ready { scrollbar-width: none; }
html.ms-scrollbar-ready::-webkit-scrollbar { display: none; width: 0; height: 0; }

html.ms-scrollbar-ready .ms-page-scrollbar[data-ms-visible] {
  opacity: .55;
  pointer-events: auto;
}

html.ms-scrollbar-ready .ms-page-scrollbar:is([data-ms-scrolling], :hover, :focus-visible) {
  opacity: 1;
  pointer-events: auto;
}

.ms-page-scrollbar:focus-visible {
  outline: 1px solid #ffffffa0;
  outline-offset: 3px;
  border-radius: 999px;
}

.ms-page-scrollbar[data-ms-dragging] { cursor: grabbing; }

@media (max-width: 767px), (hover: none), (pointer: coarse) {
  .ms-page-scrollbar { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ms-page-scrollbar { transition: none; }
}

@media (forced-colors: active) {
  html { scrollbar-width: auto; scrollbar-color: auto; }
  body.mainstream-theme :is(.ms-exclusive-track, .ms-products-menu, .ms-catalog .ms-catalog-brands, .ms-info-links, .modal, .modal-body, .modal-scrollable) {
    scrollbar-width: auto;
    scrollbar-color: auto;
  }
  .ms-page-scrollbar { display: none; }
}
