@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;700;900&display=swap');

html {
  font-size: 13px;
  font-weight: 400;
  font-family: 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: absolute;
  z-index: 99999;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-family: Inter, Helvetica, 'sans-serif';
  background: linear-gradient(135deg, #00151b 0%, #00151e 100%);
}

.page-loading .splash-screen .loading-text {
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 1.5rem;
  font-family: 'Vazirmatn', sans-serif;
  animation: pulse 1.5s ease-in-out infinite;
}

html[data-bs-theme='dark'] .page-loading .splash-screen {
  background: linear-gradient(135deg, #1e3a8a 0%, #1e293b 100%);
}

.logo-container {
  margin-bottom: 2rem;
  animation: fadeInScale 0.8s ease-out;
}

.logo-text {
  font-size: 4rem;
  font-weight: 900;
  color: #ffffff;
  margin: 0;
  letter-spacing: 0.3rem;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  font-family: 'Vazirmatn', sans-serif;
}

.spinner {
  width: 60px;
  height: 60px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top: 4px solid #ffffff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}

.loader-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}