body {
  margin: 0;
}

html {
  overflow-x: hidden;
  overflow-y: scroll;
}

#loading-bg {
  position: fixed;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;

  /* Same pattern, position and size as the dashboard's .layout-content-wrapper (Footer.vue) */
  background-color: var(--initial-loader-bg, #fff);
  background-image: var(--initial-loader-pattern, none);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 115%;
  inset: 0;
  transition: opacity 0.3s ease;
}

#loading-bg.is-hidden {
  opacity: 0;
  pointer-events: none;
}

#loading-bg.is-intro img {
  inline-size: min(280px, 80vw);
}

#loading-bg.is-cart img {
  aspect-ratio: 2 / 1;
  inline-size: min(240px, 50vw);
  object-fit: cover;
  object-position: 50% 77%;
}
