/* FINAL395 — A-to-Z no-overlap containment authority.
   Layout-only guard: does not alter PHP business logic, data, hidden/photo systems, camera/scanner logic, cart, orders or audit calculations. */
:root{--pp395-white:#fff;--pp395-z-header:15000;--pp395-z-footer:15000;--pp395-safe:10px}
html,body{max-width:100%;overflow-x:hidden}
/* Bound ordinary page content to its own stacking context so huge legacy z-index values cannot overtake chrome. */
body.pp366-workspace-ui main,
body.pp366-workspace-ui .pp-main,
body.pp366-workspace-ui .workspace,
body.pp366-workspace-ui .content,
body.pp366-workspace-ui .container,
.market-page .pp389-store-main{
  position:relative;isolation:isolate;z-index:0;max-width:100%;overflow-x:hidden;box-sizing:border-box;
}
/* Header/footer always own the chrome layers. */
body.pp366-workspace-ui .pp366-topbar,
body.pp366-workspace-ui .pp369-topbar,
.market-page .pp375-header{z-index:var(--pp395-z-header)!important}
body.pp366-workspace-ui .pp366-footer,
body.pp366-workspace-ui .pp-inventory-suite,
body.pp366-workspace-ui .pp-store-footer,
.market-page .market-bottom-nav{z-index:var(--pp395-z-footer)!important}
/* Website-owned rich media may resize but may not create horizontal bleed. */
body.pp366-workspace-ui main img,
body.pp366-workspace-ui main video,
body.pp366-workspace-ui main canvas,
body.pp366-workspace-ui main iframe,
body.pp366-workspace-ui main object,
body.pp366-workspace-ui main embed,
.market-page .pp389-store-main img,
.market-page .pp389-store-main video,
.market-page .pp389-store-main canvas,
.market-page .pp389-store-main iframe,
.market-page .pp389-store-main object,
.market-page .pp389-store-main embed{max-width:100%!important;box-sizing:border-box!important}
/* Preserve media aspect ratio unless the component itself intentionally defines one. */
body.pp366-workspace-ui main img,
body.pp366-workspace-ui main video,
.market-page .pp389-store-main img,
.market-page .pp389-store-main video{height:auto;object-fit:contain}
/* Page-ending white breathing room; content never visually sticks to bottom navigation. */
body.pp366-workspace-ui main::after,
body.pp366-workspace-ui .pp-main::after,
.market-page .pp389-store-main::after{content:"";display:block;height:var(--pp395-safe);background:var(--pp395-white);pointer-events:none}
/* Keep sticky/status controls above page content but below chrome. */
body.pp366-workspace-ui .toast,
body.pp366-workspace-ui [role="status"],
body.pp366-workspace-ui .alert.position-fixed,
.market-page .market-sticky-actions{z-index:14000!important}
@media (max-width:560px){
  :root{--pp395-safe:8px}
}
