/* ModelTech-style global loader
   Smooth, minimal SVG animation suitable for brand pages.
*/
:root{
  --loader-bg: rgba(255,255,255,0.95);
  --loader-accent: #4f46e5; /* Indigo-600 */
  --loader-accent-2: #06b6d4; /* Cyan-500 */
}
/* Fullscreen overlay */
.global-loader-overlay{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--loader-bg);
  z-index:2000;
  transition:opacity .28s ease, visibility .28s ease;
  opacity:1;
  visibility:visible;
}
.global-loader-overlay.hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
/* Center box */
.loader-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.loader-label{
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  color:#0f172a;
  font-weight:600;
  letter-spacing:0.2px;
  font-size:14px;
}
/* SVG animation */
.loader-svg{
  width:84px;
  height:84px;
}
.loader-circle{
  transform-origin:50% 50%;
  animation:rotate-scale 1.6s cubic-bezier(.2,.9,.2,1) infinite;
}
.loader-accent{ stroke: var(--loader-accent); stroke-width:6; fill:none; stroke-linecap:round; }
.loader-accent-2{ stroke: var(--loader-accent-2); stroke-width:4; fill:none; stroke-linecap:round; opacity:0.85; }
@keyframes rotate-scale{
  0%{ transform: rotate(0deg) scale(1); stroke-dasharray: 1 200; stroke-dashoffset: 0; }
  50%{ transform: rotate(180deg) scale(1.05); stroke-dasharray: 100 100; stroke-dashoffset: -30; }
  100%{ transform: rotate(360deg) scale(1); stroke-dasharray: 1 200; stroke-dashoffset: -120; }
}

/* Accessible hidden utility */
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Small screens adjust */
@media (max-width:480px){
  .loader-svg{ width:64px; height:64px; }
  .loader-label{ font-size:13px; }
}
