/*
 * WayzAway R1MA
 *
 * Consolidate the visual presentation of WayzAway's
 * existing full-page loading controllers.
 *
 * IMPORTANT:
 * - existing loader controllers remain untouched
 * - existing loading masks remain untouched
 * - existing completion/timing logic remains untouched
 * - only duplicate spinner/text visuals are suppressed
 */


/* ==========================================================
   SUPPRESS INDIVIDUAL FULL-PAGE SPINNER VISUALS
   ========================================================== */


/*
 * Private-route loader:
 * retain ::before mask; suppress only ::after spinner.
 */
html.wz-private-route-loading::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}


/*
 * Initial-settle loader:
 * retain full mask; suppress its own visual.
 */
#wz-initial-loading-settle-mask-r2
.wz-loading-spinner,

#wz-initial-loading-settle-mask-r2
.wz-loading-text {
  display: none !important;
  animation: none !important;
}


/*
 * Favourites flash guard:
 * retain overlay; suppress its own visual.
 */
#wz-favourites-flash-guard-r1-mask
.wz-fav-guard-spinner,

#wz-favourites-flash-guard-r1-mask
.wz-fav-guard-inner
> div:last-child {
  display: none !important;
  animation: none !important;
}


/*
 * Private assembly guard:
 * retain overlay; suppress its own visual.
 */
#wz-private-assembly-guard-r1-mask
.wz-private-assembly-spinner,

#wz-private-assembly-guard-r1-mask
.wz-private-assembly-inner
> div:last-child {
  display: none !important;
  animation: none !important;
}


/* ==========================================================
   SINGLE SHARED VISIBLE SPINNER
   ========================================================== */

#wz-single-loading-visual-r1 {
  position: fixed;

  top:
    var(
      --wz-r1e-header-bottom,
      64px
    );

  right: 0;
  bottom: 0;
  left: 0;

  z-index: 1003;

  display: none;

  align-items: center;
  justify-content: center;

  pointer-events: none;
}


#wz-single-loading-visual-r1.wz-active {
  display: flex;
}


#wz-single-loading-visual-r1
.wz-single-loading-spinner {
  width: 34px;
  height: 34px;

  box-sizing: border-box;

  border-radius: 50%;

  border:
    3px solid
    rgba(233,30,99,.20);

  border-top-color:
    #e91e63;

  animation:
    wzSingleLoadingSpinR1
    .75s linear infinite;
}


@keyframes wzSingleLoadingSpinR1 {
  to {
    transform: rotate(360deg);
  }
}


@media (prefers-reduced-motion: reduce) {
  #wz-single-loading-visual-r1
  .wz-single-loading-spinner {
    animation: none !important;
  }
}
