@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap');

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  font-family: 'Montserrat', sans-serif;
  overflow: hidden;
}

/* ===== Preloader Styling ===== */
#preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 9999;
}

/* Loader container */
.loader {
  position: relative;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  perspective: 800px;
}

/* Rotating rings */
.inner {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.inner.one {
  animation: rotate-one 1s linear infinite;
  border-bottom: 5px solid #2b858a;
}

.inner.two {
  animation: rotate-two 1s linear infinite;
  border-right: 5px solid #2b858a;
}

.inner.three {
  animation: rotate-three 1s linear infinite;
  border-top: 5px solid #2b858a;
}

/* Rotating animations */
@keyframes rotate-one {
  0% { transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg); }
  100% { transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg); }
}

@keyframes rotate-two {
  0% { transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg); }
  100% { transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg); }
}

@keyframes rotate-three {
  0% { transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg); }
  100% { transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg); }
}

/* Centered logo */
.loader .logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 140px;
  height: auto;
  z-index: 2;
}

/* Loading text below the loader */
.loading-container {
  text-align: center;
  color: #2b858a;
  position: absolute;
  top: calc(50% + 180px);
  left: 50%;
  transform: translateX(-50%);
}

.loading-text {
  font-size: 24px;
  letter-spacing: 10px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.loading-text span {
  animation: moveLetters 5s infinite ease-in-out;
  position: relative;
  display: inline-block;
  opacity: 0;
  text-shadow: 0 2px 10px rgba(46, 74, 81, 0.3);
}

@keyframes moveLetters {
  0% { transform: translateX(-15vw); opacity: 0; }
  33.3%, 66% { transform: translateX(0); opacity: 1; }
  100% { transform: translateX(15vw); opacity: 0; }
}

/* Social icons */
.socials {
  position: fixed;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 12px;
}

.social-link {
  color: #2b858a;
  display: flex;
  align-items: center;
  cursor: pointer;
  text-decoration: none;
}

.social-link svg {
  transition: transform 0.3s ease;
}

.social-link:hover svg {
  transform: scale(1.1);
}
