/* Non-Cleaner surfaces can improve scrolling without changing the protected
   Cleaner workspace or the shared stylesheet it loads. Native momentum stays
   untouched; these rules only prevent covered targets, layout shifts and
   scroll chaining. */
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--scroll-offset, 24px);
  scroll-padding-bottom: var(--scroll-offset-bottom, 24px);
  scrollbar-gutter: stable;
  overscroll-behavior-y: none;
}

* {
  scrollbar-width: thin;
  scrollbar-color: rgba(20, 17, 20, .22) transparent;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  border: 3px solid transparent;
  border-radius: 999px;
  background-clip: content-box;
  background-color: rgba(20, 17, 20, .22);
}
::-webkit-scrollbar-thumb:hover { background-color: rgba(20, 17, 20, .34); }

.active-message-list,
.ld-messages-list,
.ld-messages-thread,
dialog { overscroll-behavior: contain; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  /* The existing renderer hides Home only after selecting another workspace view. */
  html:has(> body.landlord-dashboard-page [data-landlord-panel="home"][hidden])::view-transition-old(root),
  html:has(> body.landlord-dashboard-page [data-landlord-panel="home"][hidden])::view-transition-new(root) {
    animation-duration: .001ms;
  }
  /* These existing customer document classes exclude approved Home and Cleaner.
     Higher specificity keeps the shared root fade from overriding this preference. */
  html:has(> body:is(.customer-theme, .journey-page, .scan-page, .homle-landlord-support, .booking-payment-page))::view-transition-old(root),
  html:has(> body:is(.customer-theme, .journey-page, .scan-page, .homle-landlord-support, .booking-payment-page))::view-transition-new(root) {
    animation-duration: .001ms;
  }
}
