.zent-loading--block {
  position: relative;
}
.zent-loading--block .zent-loading-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.zent-loading--block .zent-loading-mask > .zent-loading-icon-and-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.zent-loading--block.zent-loading--has-children .zent-loading-mask {
  background-color: rgba(255, 255, 255, 0.5);
  background-color: rgba(var(--theme-rgb-section-bg, var(--theme-rgb-stroke-9, 255, 255, 255)), 0.5);
}

.zent-loading--inline {
  display: inline-block;
}

.zent-loading--fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1100;
}
.zent-loading--fullscreen .zent-loading-mask {
  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.zent-loading--fullscreen.zent-loading--show-background .zent-loading-icon-and-text {
  background-color: #fff;
  background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
  padding: 32px;
  border-radius: 4px;
}

.zent-loading-icon-youzan {
  display: inline-block;
  position: relative;
}
.zent-loading-icon-youzan:before, .zent-loading-icon-youzan:after {
  display: block;
  box-sizing: border-box;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.zent-loading-icon-youzan:before {
  z-index: 2;
  border-width: 2px;
  border-style: solid;
  animation: zent-ani-spin 0.6s cubic-bezier(0, 0, 0.1, 0.1) infinite;
}
.zent-loading-icon-youzan:after {
  box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.1);
  box-shadow: var(--shadow-spec-layer, 0 2px 16px 0 rgba(var(--theme-rgb-shadow-bg, 0, 0, 0), 0.1));
  z-index: 1;
}
.zent-loading-icon-youzan-svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.zent-loading-icon-circle {
  display: inline-block;
  animation: zent-ani-spin 0.6s cubic-bezier(0, 0, 0.1, 0.1) infinite;
}

.zent-loading-icon-and-text {
  color: #333;
  color: var(--theme-title-color, var(--theme-stroke-1, #333));
  display: flex;
  align-items: center;
  justify-content: center;
}
.zent-loading-icon-and-text--bottom {
  flex-direction: column;
}
.zent-loading-icon-and-text--bottom .zent-loading-icon-text {
  margin-top: 4px;
}
.zent-loading-icon-and-text--top {
  flex-direction: column;
}
.zent-loading-icon-and-text--top .zent-loading-icon-text {
  margin-bottom: 4px;
  order: 1;
}
.zent-loading-icon-and-text--top .zent-loading-icon {
  order: 2;
}
.zent-loading-icon-and-text--right .zent-loading-icon-text {
  margin-left: 6px;
}
.zent-loading-icon-and-text--left .zent-loading-icon {
  order: 2;
}
.zent-loading-icon-and-text--left .zent-loading-icon-text {
  order: 1;
  margin-right: 6px;
}

.zent-loading-color-preset--primary .zent-loading-icon-circle + .zent-loading-icon-text {
  color: #155bd4;
  color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-loading-color-preset--primary .zent-loading-icon-youzan:before {
  border-color: transparent;
  border-right-color: #e00;
}
.zent-loading-color-preset--primary .zent-loading-icon-youzan:after {
  background-color: #fff;
  background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-loading-color-preset--primary .zent-loading-icon-youzan-svg {
  fill: #e00;
}

.zent-loading-color-preset--grey .zent-loading-icon-text {
  color: #999;
  color: var(--theme-hint-color, var(--theme-stroke-3, #999));
}
.zent-loading-color-preset--grey .zent-loading-icon-youzan:before {
  border-color: transparent;
  border-right-color: #ccc;
  border-right-color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-loading-color-preset--grey .zent-loading-icon-youzan:after {
  background-color: #fff;
  background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-loading-color-preset--grey .zent-loading-icon-youzan-svg {
  fill: #ccc;
  fill: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
