/* Shared by every page. Browser chrome is controlled by the browser; content
   uses the available viewport and respects notches in app/fullscreen modes. */
:root {
  --mobile-safe-top: env(safe-area-inset-top, 0px);
  --mobile-safe-right: env(safe-area-inset-right, 0px);
  --mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
  --mobile-safe-left: env(safe-area-inset-left, 0px);
}
@media (max-width: 1024px), (any-pointer: coarse), (display-mode: standalone), (display-mode: fullscreen) {
  html { min-height: 100%; scrollbar-gutter: auto; }
  body { min-height: 100vh; min-height: 100dvh; }
}
.mobile-display-device body:not(:has(.link-shell)) {
  padding-top: var(--mobile-safe-top);
  padding-right: var(--mobile-safe-right);
  padding-bottom: var(--mobile-safe-bottom);
  padding-left: var(--mobile-safe-left);
}
.mobile-display-device :is(.site-header, .pp-header, .account-header, .info-header, .rq-header, .cmp-header, .admin-topbar) { top: var(--mobile-safe-top); }
.mobile-display-device body:not(:has(.link-shell))::before { content: ''; position: fixed; z-index: 35; top: 0; left: 0; right: 0; height: var(--mobile-safe-top); background: var(--theme-paper, #f8f6f1); pointer-events: none; }
.mobile-display-device .v4 .mobile-nav { top: calc(var(--header-height) + var(--mobile-safe-top)); max-height: calc(100dvh - var(--header-height) - var(--mobile-safe-top) - var(--mobile-safe-bottom)); }
.mobile-display-device .store-toolbar { top: calc(var(--store-header-height) + var(--mobile-safe-top)); }
.mobile-display-device .store-filter-host .store-filters { top: calc(var(--store-header-height) + var(--store-toolbar-height) + var(--mobile-safe-top) + 20px); max-height: calc(100dvh - var(--store-header-height) - var(--store-toolbar-height) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 40px); }
.mobile-display-device .store-page :is(a, button, input, select, [tabindex]),
.mobile-display-device .store-grid { scroll-margin-top: calc(var(--store-header-height) + var(--store-toolbar-height) + var(--mobile-safe-top) + 20px); }
.mobile-display-device .store-page dialog :is(a, button, input, select, [tabindex]) { scroll-margin-block: 16px; }
.mobile-display-device :is(.cart-dialog, .pp-cart, .store-cart, .store-filter-dialog) { padding-top: var(--mobile-safe-top); padding-left: var(--mobile-safe-left); padding-right: var(--mobile-safe-right); }
@media (min-width: 1001px) {
  .mobile-display-device .admin-sidebar { padding-top: calc(38px + var(--mobile-safe-top)); padding-left: max(25px, var(--mobile-safe-left)); padding-bottom: calc(28px + var(--mobile-safe-bottom)); }
}
html:fullscreen { overflow: auto; background: var(--theme-paper, #f6f4ed); }
