/* FZ Group — unified loading spinner (public + admin) */

:root {
    --fz-spinner-primary: #4b8bf9;
    --fz-spinner-secondary: #7644ff;
    --fz-spinner-accent: #1c99fe;
    --fz-spinner-track: rgba(75, 139, 249, 0.18);
    --fz-spinner-glow: rgba(75, 139, 249, 0.32);
    --fz-spinner-size: 32px;
    --fz-spinner-image: url("/assets/images/fz-spinner.svg");
}

@keyframes fz-spinner-spin {
    to {
        transform: rotate(360deg);
    }
}

.fz-spinner {
    width: var(--fz-spinner-size);
    height: var(--fz-spinner-size);
    border-radius: 50%;
    border: 3px solid var(--fz-spinner-track);
    border-top-color: var(--fz-spinner-accent);
    border-right-color: var(--fz-spinner-secondary);
    border-bottom-color: var(--fz-spinner-primary);
    animation: fz-spinner-spin 0.85s linear infinite;
    display: inline-block;
    flex-shrink: 0;
}

/* Slick carousel */
.slick-loading .slick-list {
    background: color-mix(in srgb, var(--fz-spinner-primary) 5%, #fff) var(--fz-spinner-image) center center no-repeat !important;
}

/* LightGallery */
.lg-outer .lg-item {
    background: var(--fz-spinner-image) no-repeat scroll center center transparent !important;
}

/* Legacy lightbox (if used) */
.lb-outerContainer .lb-loader .lb-cancel {
    background: var(--fz-spinner-image) no-repeat center center !important;
}

/* Bootstrap / Tabler inline spinners */
.spinner-border {
    color: var(--fz-spinner-primary) !important;
}

.spinner-grow {
    color: var(--fz-spinner-primary) !important;
}

/* Backpack DataTables processing indicator */
.dataTables_processing img,
.dt-processing img {
    filter: none !important;
}

[data-bs-theme="dark"] .dataTables_processing img,
[data-bs-theme="dark"] .dt-processing img {
    filter: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .fz-spinner {
        animation-duration: 1.4s;
    }
}
