/* Shared storefront browser adaptation; page dimensions and modal locks stay intact. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Native scrolling and zoom must not be disabled on page-shell ancestors.
   Component-owned carousel, keyboard, overlay and drawer gestures are untouched. */
@media screen and (max-width: 1023px) {
  html body,
  html body #app .container.safari_only,
  html body #app .container.safari_only .home-content,
  html body #app .container.safari_only > .content,
  html body #app .container.safari_only .cart-shell > .content,
  html body #app .container.mall-withdraw-page,
  html body #app .container.mall-page,
  html body #app .container.little-bloom-home,
  html body #app .account-security-page,
  html body #app .pay-password-page,
  html body #app .password-page {
    touch-action: auto !important;
  }
}
html body #app .mall-bag-main {
  touch-action: auto !important;
}

/* These title bands have no existing horizontal padding. Keep controls outside
   landscape notches without shifting the document or its fixed-position bars. */
html body #app .lb-profile-screen .lb-profile-header,
html body #app .lb-flow-shell .lb-flow-header,
html body #app .lb-ref-page-header,
html body #app .lb-reference-detail__header,
html body #app .lb-deposit-header,
html body #app .lb-personal-favorites .lb-personal-extra-header,
html body #app .lb-personal-announcements .lb-personal-extra-header,
html body #app .lb-personal-authorization .lb-personal-extra-header {
  padding-left: 0;
  padding-right: 0;
  padding-left: constant(safe-area-inset-left);
  padding-right: constant(safe-area-inset-right);
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}
@media screen and (max-width: 1023px) {
  html body #app .van-tabbar--fixed {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-left: constant(safe-area-inset-left) !important;
    padding-right: constant(safe-area-inset-right) !important;
    padding-left: env(safe-area-inset-left, 0px) !important;
    padding-right: env(safe-area-inset-right, 0px) !important;
  }
}

/* Desktop users can see and drag scrollbars again. Touch devices keep native
   overlay behavior; deliberate horizontal carousel scrollbar hiding remains. */
@media (hover: hover) and (pointer: fine) {
  ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }
  ::-webkit-scrollbar-thumb {
    background: #8995a3 !important;
    border: 2px solid transparent;
    border-radius: 8px;
    background-clip: padding-box !important;
  }
  ::-webkit-scrollbar-track {
    background: transparent;
  }
}
