/* Non-blocking loading indicator, shared by all themes. */
#netcms-navigation-status,#netcms-page-status{display:none!important}
.nc-loader{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2147483000;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:24px 32px;border-radius:18px;background:var(--cms-bg,#fff);color:var(--cms-text,#162033);box-shadow:0 8px 48px #0003;pointer-events:none;font:500 14px/1.4 system-ui,sans-serif}
.nc-loader[hidden]{display:none!important}
.nc-loader-icon{display:flex;align-items:center;justify-content:center;position:relative;width:56px;height:56px;color:var(--cms-primary,#2358e8)}
.nc-loader-icon i{display:none;box-sizing:border-box}
.nc-loader-icon[data-style=ring]{border:4px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nc-spin .9s linear infinite}
.nc-loader-icon[data-style=dots],.nc-loader-icon[data-style=bars]{gap:7px}
.nc-loader-icon[data-style=dots] i{display:block;width:12px;height:12px;background:currentColor;border-radius:50%;animation:nc-bounce .9s ease-in-out infinite}
.nc-loader-icon[data-style=bars] i{display:block;width:9px;height:42px;background:currentColor;border-radius:4px;animation:nc-scale .9s ease-in-out infinite}
.nc-loader-icon i:nth-child(2){animation-delay:.15s}.nc-loader-icon i:nth-child(3){animation-delay:.3s}
.nc-loader-icon[data-style=pulse]{background:currentColor;border-radius:50%;animation:nc-pulse 1.2s ease-in-out infinite}
.nc-loader-icon[data-style=orbit]{border:1px solid currentColor;border-radius:50%;animation:nc-spin 1.2s linear infinite}
.nc-loader-icon[data-style=orbit] i:first-child{display:block;position:absolute;top:-5px;width:12px;height:12px;background:currentColor;border-radius:50%}
.nc-loader-icon[data-style=square]{width:40px;height:40px;border:5px solid currentColor;animation:nc-spin 1.8s ease-in-out infinite}
.nc-loader-icon[data-style=diamond]{width:38px;height:38px;background:currentColor;animation:nc-diamond 1.4s ease-in-out infinite}
.nc-loader-icon[data-style=ripple] i{display:block;position:absolute;inset:0;border:3px solid currentColor;border-radius:50%;animation:nc-ripple 1.8s ease-out infinite}
.nc-loader-icon[data-style=hourglass]{clip-path:polygon(0 0,100% 0,60% 50%,100% 100%,0 100%,40% 50%);background:currentColor;animation:nc-spin 2s ease-in-out infinite;width:36px;height:48px}
.nc-loader-icon[data-style=progress]{width:100px;height:8px;background:color-mix(in srgb,currentColor 20%,transparent);border-radius:8px;overflow:hidden}
.nc-loader-icon[data-style=progress] i:first-child{display:block;position:absolute;left:0;width:35%;height:100%;border-radius:8px;background:currentColor;animation:nc-progress 1s ease-in-out infinite alternate}
.nc-loader-icon[data-style=custom] img{width:56px;height:56px;object-fit:contain;animation:nc-pulse 1.6s ease-in-out infinite}
@keyframes nc-spin{to{transform:rotate(360deg)}}
@keyframes nc-bounce{50%{transform:translateY(-12px)}}
@keyframes nc-scale{50%{transform:scaleY(.35)}}
@keyframes nc-pulse{50%{opacity:.4;transform:scale(.8)}}
@keyframes nc-diamond{0%,100%{transform:rotate(45deg) scale(.8)}50%{transform:rotate(225deg) scale(1)}}
@keyframes nc-ripple{0%{transform:scale(.1);opacity:1}100%{transform:scale(1);opacity:0}}
@keyframes nc-progress{to{left:65%}}
@media(prefers-reduced-motion:reduce){.nc-loader-icon,.nc-loader-icon i,.nc-loader-icon img{animation:none!important}}
