/* IT SOLVED BD — cinematic preloader */

.loader.js-preloader,
#site-preloader {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 20000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #07060d !important;
  background-image:
    radial-gradient(ellipse 90% 60% at 50% 42%, rgba(var(--itzone-base-rgb), 0.32), transparent 72%),
    radial-gradient(ellipse 55% 40% at 78% 78%, rgba(var(--itzone-accent-2-rgb), 0.22), transparent 70%),
    linear-gradient(180deg, #141026 0%, #07060d 58%, #05040a 100%) !important;
}

/* Neutralize legacy theme rule: .loader div { width/height 20px; bouncing... } */
.loader.js-preloader > div,
#site-preloader > div,
.loader.js-preloader div.site-preloader__bg,
.loader.js-preloader div.site-preloader__stage,
.loader.js-preloader div.site-preloader__logo-wrap,
#site-preloader div.site-preloader__bg,
#site-preloader div.site-preloader__stage,
#site-preloader div.site-preloader__logo-wrap {
  animation: none !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  margin: 0 !important;
  transform: none !important;
  transform-origin: center center !important;
}

.loader.js-preloader div.site-preloader__bar,
#site-preloader div.site-preloader__bar {
  animation: none !important;
  margin: 0 !important;
  transform: none !important;
  transform-origin: center center !important;
}

.site-preloader__bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  overflow: hidden !important;
  display: block !important;
}

.site-preloader__glow {
  position: absolute !important;
  border-radius: 50% !important;
  filter: blur(48px) !important;
  opacity: 0.6 !important;
  pointer-events: none !important;
  display: block !important;
}

.site-preloader__glow--a {
  width: min(58vw, 460px) !important;
  height: min(58vw, 460px) !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -54%) !important;
  background: radial-gradient(circle, rgba(var(--itzone-base-rgb), 0.55), transparent 68%) !important;
  animation: sitePreGlowA 4.8s ease-in-out infinite !important;
}

.site-preloader__glow--b {
  width: min(36vw, 280px) !important;
  height: min(36vw, 280px) !important;
  bottom: 12% !important;
  right: 10% !important;
  background: radial-gradient(circle, rgba(var(--itzone-accent-2-rgb), 0.42), transparent 70%) !important;
  animation: sitePreGlowB 6s ease-in-out infinite !important;
}

.site-preloader__stage {
  position: relative !important;
  z-index: 2 !important;
  width: min(88vw, 440px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(20px, 4.5vw, 30px) !important;
  padding: 0 12px !important;
}

.site-preloader__logo-wrap {
  position: relative !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  background: transparent !important;
  animation: sitePreLogoIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) both !important;
}

.site-preloader__logo {
  display: block !important;
  width: min(82vw, 340px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  image-rendering: auto;
  filter: drop-shadow(0 10px 32px rgba(var(--itzone-base-rgb), 0.4)) !important;
  animation: sitePreLogoPulse 2.8s ease-in-out 0.9s infinite !important;
}

#site-preloader .site-preloader__bar,
.loader.js-preloader .site-preloader__bar {
  position: relative !important;
  width: min(48vw, 200px) !important;
  height: 3px !important;
  min-height: 3px !important;
  max-height: 3px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.16) !important;
  background-color: rgba(255, 255, 255, 0.16) !important;
  background-image: none !important;
  overflow: hidden !important;
  display: block !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06) !important;
  animation: sitePreBarIn 0.7s ease 0.3s both !important;
}

#site-preloader .site-preloader__bar-fill,
.loader.js-preloader .site-preloader__bar-fill {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  display: block !important;
  width: 40% !important;
  height: 100% !important;
  min-height: 3px !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, var(--itzone-base), var(--itzone-accent-2), #ff6bb5) !important;
  background-color: var(--itzone-base) !important;
  box-shadow: 0 0 14px rgba(var(--itzone-base-rgb), 0.7) !important;
  animation: sitePreBar 1.35s ease-in-out infinite !important;
}

.loader.js-preloader.loader--exit,
#site-preloader.loader--exit {
  animation: sitePreExit 0.65s cubic-bezier(0.65, 0, 0.35, 1) forwards !important;
  pointer-events: none !important;
}

@keyframes sitePreLogoIn {
  from {
    opacity: 0;
    transform: scale(0.9) translateY(14px);
    filter: blur(10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
    filter: blur(0);
  }
}

@keyframes sitePreLogoPulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.025);
  }
}

@keyframes sitePreBarIn {
  from {
    opacity: 0;
    transform: scaleX(0.55);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

@keyframes sitePreBar {
  0% {
    transform: translateX(-130%);
  }
  100% {
    transform: translateX(280%);
  }
}

@keyframes sitePreGlowA {
  0%,
  100% {
    opacity: 0.45;
    filter: blur(48px);
  }
  50% {
    opacity: 0.8;
    filter: blur(56px);
  }
}

@keyframes sitePreGlowB {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.35;
  }
  50% {
    transform: translate(-10%, -12%) scale(1.15);
    opacity: 0.65;
  }
}

@keyframes sitePreExit {
  0% {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
  100% {
    opacity: 0;
    filter: blur(8px);
    transform: scale(1.05);
  }
}

@media (max-width: 480px) {
  .site-preloader__logo {
    width: min(88vw, 300px) !important;
  }

  .site-preloader__glow {
    filter: blur(30px) !important;
  }

  #site-preloader .site-preloader__bar,
  .loader.js-preloader .site-preloader__bar {
    width: min(56vw, 180px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-preloader__glow,
  .site-preloader__bar-fill,
  .site-preloader__logo {
    animation: none !important;
  }

  .site-preloader__logo-wrap {
    animation: sitePreLogoIn 0.35s ease both !important;
  }

  .loader.js-preloader.loader--exit,
  #site-preloader.loader--exit {
    animation: none !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
  }
}
