html {
  font-size: 13px;
  font-weight: 400;
  font-family: Outfit, Inter, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}

body.page-loading {
  margin: 0;
  height: 100%;
  overflow: hidden;
  transition: none !important;
}

.splash-screen {
  display: none;
}

.page-loading .splash-screen {
  position: fixed;
  inset: 0;
  z-index: 99999;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-family: Outfit, Inter, Helvetica, sans-serif;
  background:
    radial-gradient(900px 420px at 50% -10%, rgba(0, 102, 177, 0.18), transparent 60%),
    linear-gradient(180deg, #f7fafc 0%, #ffffff 55%, #f3f6f9 100%);
}

.splash-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.splash-mark {
  flex-shrink: 0;
  filter: drop-shadow(0 8px 20px rgba(0, 102, 177, 0.2));
}

.splash-wordmark {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  font-size: 2.15rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
}

.splash-wordmark__bmw {
  color: #0b0b0b;
}

.splash-wordmark__stok {
  color: #0066b1;
}

.splash-tagline {
  margin: 0.85rem 0 0;
  color: #6b7684;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.page-loading .splash-screen .loading-text {
  color: #6b7684;
  margin-left: 0.85rem;
  font-size: 0.95rem;
  font-weight: 500;
}

html[data-bs-theme='dark'] .page-loading .splash-screen {
  background:
    radial-gradient(900px 420px at 50% -10%, rgba(0, 102, 177, 0.28), transparent 60%),
    linear-gradient(180deg, #0f141a 0%, #151a21 100%);
  color: #ffffff;
}

html[data-bs-theme='dark'] .splash-wordmark__bmw {
  color: #f5f7fa;
}

html[data-bs-theme='dark'] .splash-tagline,
html[data-bs-theme='dark'] .page-loading .splash-screen .loading-text {
  color: #9aa3af;
}

.loader {
  width: 1.65rem;
  height: 1.65rem;
  border: 0.18rem solid #0066b1;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 0.7s linear infinite;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.loader-wrapper {
  display: flex;
  align-items: center;
  margin-top: 1.75rem;
}
