/*
 * ❤ PROJECT NIRAK ❤ MMXXVI.I
 *
 * Copyright (c) 2026
 * Made with heart ❤ and much coffee ☕ by Project Nirak
 *
 * @version   Nirak 2026.1 - 1.5
 * @author    Project Nirak - Nikolaus Flamann <development@nirak.at>
 * @license   Nirak Custom License (NCL) v1.1 - https://nirak.at/license/ncl
 */

/**
 * Nirak System Style for all Sites over all Systems this File has to be always loaded
 */

pre.sf-dump,
pre.sf-dump .sf-dump-default {
	z-index: unset !important;
}

/* --- ❤ PROJECT NIRAK Lazy Loader --- */
.lazy-wrapper::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.05); /* Standard für dunkle Themes */
	backdrop-filter: brightness(0.7) contrast(1.2);
	opacity: 0.8;
	transition: opacity .4s ease;
	z-index: 1;
}

.lazy-wrapper {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	background: radial-gradient(circle at center, #111 0%, #000 100%);
}

.lazy-wrapper img {
	width: 100%;
	height: auto;
	display: block;
	opacity: 0;
	transition: opacity .4s ease-in-out;
}

/* Loader Element */
.lazy-loader-svg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	pointer-events: none;
	transition: opacity .3s ease;
}

.lazy-loader-svg svg {
	width: 56px;
	height: 56px;
	animation: nirakSpin 1.2s linear infinite;
	filter: drop-shadow(0 0 6px rgba(255, 0, 255, 0.3)) drop-shadow(0 0 10px rgba(0, 255, 255, 0.2));
}

@keyframes nirakSpin {
	to {
		transform: rotate(360deg);
	}
}

/* Sichtbarkeit beim Bild-Load */
.lazyloaded {
	opacity: 1 !important;
}

.lazyloaded ~ .lazy-loader-svg,
.lazyloaded + .lazy-loader-svg {
	display: none;
}

.lazyloaded ~ .lazy-loader-svg,
.lazyloaded + .lazy-loader-svg,
.lazyloaded ~ .lazy-wrapper::before,
.lazyloaded + .lazy-wrapper::before {
	opacity: 0;
}

/* Und vollständig entfernen, wenn Loader verschwindet */
.lazy-wrapper img.lazyloaded {
	opacity: 1;
}
/* Falls JS aus ist */
.lazy-wrapper img[src]:not([src=""]) ~ .lazy-loader-svg {
	display: none;
}