/* DjimlyStore Digital v2.39.48 — critical VIP screen isolation */

/* v2.39.47 mistakenly forced the VIP screen visible at all times.
   The app router controls screens with .djs-screen--active. Respect that contract. */
html body #djs-portal #djs-screen-vip.djs-vip48-screen:not(.djs-screen--active){
  display:none!important;
}
html body #djs-portal #djs-screen-vip.djs-vip48-screen.djs-screen--active{
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
}

/* Keep the VIP header + scroller as one full-screen page, never appended below Boutique. */
html body #djs-portal #djs-screen-vip.djs-vip48-screen.djs-screen--active>.djs-vip44-backbar{
  flex:0 0 auto!important;
  width:100%!important;
  margin:0!important;
}
html body #djs-portal #djs-screen-vip.djs-vip48-screen.djs-screen--active>.djs-vip43-scroller{
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  background:#fff!important;
}

/* Undo the unconditional display rule introduced by v2.39.47 without losing its card styling. */
html body #djs-portal #djs-screen-vip.djs-vip47-screen{
  flex-direction:column!important;
}

/* Make sure another screen's bottom nav can never sit over VIP when VIP is active. */
html body #djs-portal:has(#djs-screen-vip.djs-screen--active) .djs-screen:not(#djs-screen-vip) .djs-bottom-nav{
  visibility:hidden!important;
  pointer-events:none!important;
}

/* VIP page owns its viewport and starts immediately under its own header. */
html body #djs-portal #djs-screen-vip.djs-vip48-screen .djs-vip44-shell{
  margin:0!important;
  padding-top:0!important;
}
html body #djs-portal #djs-screen-vip.djs-vip48-screen .djs-vip44-journey{
  margin-top:0!important;
}
