body {
  margin: 0;
}

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

#loading-bg {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--initial-loader-bg, #fff);
  block-size: 100%;
  inline-size: 100%;
}

.loading-brand {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: 168px;
  inline-size: 168px;
}

.loading-logo {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loading-logo img {
  display: block;
  height: 88px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}

.loading-orbit {
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
}

/* Anel externo — cor primária, gira à direita */
.loading-orbit--outer {
  block-size: 148px;
  inline-size: 148px;
  border: 3px solid transparent;
  border-block-start-color: var(--initial-loader-color, #1a6e97);
  border-inline-end-color: var(--initial-loader-color, #1a6e97);
  animation: spin-cw 1.35s linear infinite;
}

/* Anel interno — cor complementar, gira à esquerda */
.loading-orbit--inner {
  block-size: 118px;
  inline-size: 118px;
  border: 3px solid transparent;
  border-block-end-color: var(--initial-loader-accent, #3ecfb2);
  border-inline-start-color: var(--initial-loader-accent, #3ecfb2);
  animation: spin-ccw 1.1s linear infinite;
}

@keyframes spin-cw {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes spin-ccw {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(-360deg);
  }
}
