[data-bs-theme=blue-theme] .loader-overlay {
	background: url('../images/bg-themes/body-background-1.webp');
  }

  [data-bs-theme=light] .loader-overlay {
	background: rgba(255,255,255,0.96);
  }

  [data-bs-theme=dark] .loader-overlay {
	background: rgba(0,0,0,0.96);
  }

  [data-bs-theme=blue-theme] .loader-overlay::before {
	color: #ffffff; /* or any color you like */
  }
  [data-bs-theme=light] .loader-overlay::before {
	color: #0d6efd; /* or any color you like */
  }
  [data-bs-theme=dark] .loader-overlay::before{
	color: #ffffff; /* or any color you like */
  }

.loader-overlay {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	width: 100vw; height: 100vh;
	background: linear-gradient(135deg, #0f2027 0%, #2c5364 100%);
	z-index: 2000;
	pointer-events: all;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: opacity 0.5s;
	opacity: 1;
  }
  
  .loader-overlay.hide {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s;
  }
  
  .tech-spinner {
	position: relative;
	width: 20dvw;
	height: 20dvw;
	min-width: 92px;
	min-height: 92px;
	max-width: 260px;
	max-height: 260px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  
  .tech-spinner::before,
  .tech-spinner::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	box-sizing: border-box;
	pointer-events: none;
	left: 0; top: 0;
  }
  
  .tech-spinner::before {
	width: 20dvw;
	height: 20dvw;
	min-width: 92px;
	min-height: 92px;
	max-width: 260px;
	max-height: 260px;
	border: 1.4dvw solid #00ffe7;
	border-top-color: transparent;
	border-bottom-color: #006cff;
	box-shadow: 0 0 4dvw #00ffe7, 0 0 2.5dvw #006cff inset;
	animation: big-spinner 2s cubic-bezier(.68,-0.55,.27,1.55) infinite;
  }
  
  .tech-spinner::after {
	width: 14dvw;
	height: 14dvw;
	left: 3dvw; top: 3dvw;
	min-width: 56px;
	min-height: 56px;
	max-width: 160px;
	max-height: 160px;
	border: 1dvw solid #006cff;
	border-left-color: #00ffe7;
	border-right-color: transparent;
	opacity: 0.7;
	box-shadow: 0 0 2dvw #006cff;
	animation: small-spinner 1.2s linear infinite reverse;
  }
  
  @keyframes big-spinner {
	0% { transform: rotate(0deg);}
	100% { transform: rotate(360deg);}
  }
  @keyframes small-spinner {
	0% { transform: rotate(0deg);}
	100% { transform: rotate(360deg);}
  }
  
  /* Glowing center "energy core" - responsive */
  .tech-spinner .core {
	position: absolute;
	left: 50%; top: 50%;
	transform: translate(-50%, -50%);
	width: 4.5dvw; height: 4.5dvw;
	min-width: 24px; min-height: 24px;
	max-width: 60px; max-height: 60px;
	background: radial-gradient(circle at 60% 40%, #00ffe7 70%, #006cff 100%);
	border-radius: 50%;
	box-shadow: 0 0 4dvw #00ffe7, 0 0 2dvw #006cff inset;
	transform: translate(-50%, -50%);
	animation: pulse-core 1s ease-in-out infinite;
	z-index: 2;
  }
  
  @keyframes pulse-core {
	0%, 100% { box-shadow: 0 0 4dvw #00ffe7, 0 0 2dvw #006cff inset; }
	50% { box-shadow: 0 0 6dvw #00ffe7, 0 0 3dvw #006cff inset; }
  }
  
  /* Animated shimmer loading text */
  .loading-text {
	position: absolute;
	top: 32%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100vw;
	text-align: center;
	font-family: 'Orbitron', 'Montserrat', 'Arial', sans-serif;
	font-size: clamp(1.5rem, 3.8dvw, 3.2rem);
	color: #00ffe7;
	font-weight: bold;
	letter-spacing: 0.22em;
	z-index: 2003;
	pointer-events: none;
	text-transform: uppercase;
	background: linear-gradient(90deg, #00ffe7, #006cff 50%, #00ffe7 100%);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: shimmer 2s linear infinite;
  }
  @keyframes shimmer {
	0% { background-position: 200% 0; }
	100% { background-position: 0 0; }
  }
  
  /* Scanline overlay for extra tech feel */
  .loader-overlay::after {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 100vw; height: 100vh;
	pointer-events: none;
	background: repeating-linear-gradient(
	  to bottom,
	  rgba(0,255,255,0.07) 0,
	  rgba(0,255,255,0.07) 1px,
	  transparent 1px,
	  transparent 6px
	);
	z-index: 2004;
	mix-blend-mode: lighten;
  }