/* V21: one horizontal gutter owner for logged-in client shell.
   Keep the fixed bottom navigation viewport-wide; never constrain it to the content box. */
@media screen and (max-width: 1024px) {
  body:not(.admin-app-shell) {
    --client-gutter: clamp(10px, 3vw, 18px);
  }
  body:not(.admin-app-shell) .client-nav-wrapper {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: auto !important;
    padding-inline: var(--client-gutter) !important;
    padding-top: 12px !important;
    padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)) !important;
  }
  body:not(.admin-app-shell) .client-nav-wrapper > .client-page,
  body:not(.admin-app-shell) .client-nav-wrapper > .pr-wrap,
  body:not(.admin-app-shell) .client-nav-wrapper > .notifications-page {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body:not(.admin-app-shell) .client-nav-wrapper > :not(.client-bottom-nav):not(.pwa-install-banner) {
    max-width: 100%;
    min-width: 0;
  }
  body:not(.admin-app-shell) .client-top-nav {
    box-sizing: border-box !important;
    width: 100% !important;
    padding-inline: var(--client-gutter) !important;
  }
  body:not(.admin-app-shell) .client-page .table-wrapper,
  body:not(.admin-app-shell) .client-nav-wrapper .table-wrapper {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  body:not(.admin-app-shell) .client-page .card,
  body:not(.admin-app-shell) .client-page .cl-card,
  body:not(.admin-app-shell) .client-nav-wrapper .dashboard-order-item {
    min-width: 0;
    max-width: 100%;
  }
  body:not(.admin-app-shell) .client-nav-wrapper .client-bottom-nav {
    position: fixed !important;
    inset-inline: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
  }
}
@media screen and (max-width: 420px) {
  body:not(.admin-app-shell) { --client-gutter: 10px; }
  body:not(.admin-app-shell) .client-page .products-grid {
    gap: 10px !important;
  }
  body:not(.admin-app-shell) .client-page .product-info {
    padding-inline: 10px !important;
  }
  body:not(.admin-app-shell) .client-nav-wrapper .dashboard-order-item {
    padding-inline: 11px !important;
  }
}
@media print {
  body:not(.admin-app-shell) .client-nav-wrapper,
  body:not(.admin-app-shell) .client-nav-wrapper > .client-page,
  body:not(.admin-app-shell) .client-nav-wrapper > .pr-wrap,
  body:not(.admin-app-shell) .client-nav-wrapper > .notifications-page {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
