/* SGCR page loader — icon as brand mark */
html.sgcr-page-loading,
html.sgcr-page-loading body {
	overflow: hidden;
	background: rgb(8, 9, 8);
}

html.sgcr-page-loading body > *:not(#sgcr-page-loader) {
	visibility: hidden !important;
}

html.sgcr-page-loading body > *:not(#sgcr-page-loader),
html.sgcr-page-loading body > *:not(#sgcr-page-loader) * {
	animation-play-state: paused !important;
}

.sgcr-page-loader {
	--sgcr-loader-accent: rgb(0, 248, 83);
	--sgcr-loader-accent-dim: rgba(0, 248, 83, 0.55);
	--sgcr-loader-accent-soft: rgba(0, 248, 83, 0.14);
	--sgcr-loader-accent-glow: rgba(0, 248, 83, 0.28);
	--sgcr-loader-text: rgba(220, 255, 230, 0.92);
	--sgcr-loader-muted: rgba(180, 200, 185, 0.48);
	--sgcr-loader-plate: rgba(12, 18, 14, 0.88);
	--sgcr-loader-plate-edge: rgba(0, 248, 83, 0.28);
	--sgcr-loader-plate-inner: rgba(0, 248, 83, 0.07);

	position: fixed;
	inset: 0;
	z-index: 99999;
	display: grid;
	place-items: center;
	padding: clamp(1.25rem, 5vw, 2.5rem);
	box-sizing: border-box;
	background:
		radial-gradient(ellipse 88% 62% at 50% 22%, var(--sgcr-loader-accent-soft), transparent 70%),
		radial-gradient(ellipse 70% 48% at 50% 100%, rgba(0, 0, 0, 0.55), transparent 70%),
		rgb(8, 9, 8);
	opacity: 1;
	transition: opacity 240ms cubic-bezier(0.4, 0, 0.2, 1);
	isolation: isolate;
}

.sgcr-page-loader[data-theme="gold"] {
	--sgcr-loader-accent: rgb(255, 179, 48);
	--sgcr-loader-accent-dim: rgba(255, 179, 48, 0.62);
	--sgcr-loader-accent-soft: rgba(255, 179, 48, 0.16);
	--sgcr-loader-accent-glow: rgba(255, 179, 48, 0.32);
	--sgcr-loader-text: rgba(255, 232, 190, 0.94);
	--sgcr-loader-muted: rgba(220, 190, 140, 0.5);
	--sgcr-loader-plate: rgba(16, 12, 8, 0.9);
	--sgcr-loader-plate-edge: rgba(255, 179, 48, 0.32);
	--sgcr-loader-plate-inner: rgba(255, 179, 48, 0.08);
	background:
		radial-gradient(ellipse 100% 72% at 50% 14%, rgba(255, 179, 48, 0.18), transparent 66%),
		radial-gradient(ellipse 80% 55% at 50% 110%, rgba(92, 45, 19, 0.4), transparent 72%),
		rgb(10, 8, 6);
}

.sgcr-page-loader--out {
	opacity: 0;
	pointer-events: none;
}

.sgcr-page-loader-inner {
	width: min(21rem, 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.1rem;
	animation: sgcr-loader-inner-in 560ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.sgcr-page-loader-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.4rem;
	text-align: center;
}

.sgcr-page-loader-mark-wrap {
	position: relative;
	width: 8.9rem;
	height: 8.9rem;
	display: grid;
	place-items: center;
}

/* Soft bloom behind the plate — blends icon into scene */
.sgcr-page-loader-mark-bloom {
	position: absolute;
	inset: -18%;
	border-radius: 50%;
	background: radial-gradient(
		circle,
		var(--sgcr-loader-accent-glow) 0%,
		transparent 62%
	);
	filter: blur(18px);
	opacity: 0.7;
	animation: sgcr-loader-bloom 2.8s ease-in-out infinite;
	pointer-events: none;
	z-index: 0;
}

.sgcr-page-loader-mark-plate {
	position: relative;
	z-index: 1;
	width: 6.9rem;
	height: 6.9rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background:
		radial-gradient(circle at 50% 38%, var(--sgcr-loader-plate-inner), transparent 58%),
		var(--sgcr-loader-plate);
	border: 1px solid var(--sgcr-loader-plate-edge);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.03) inset,
		0 10px 28px rgba(0, 0, 0, 0.45),
		0 0 32px var(--sgcr-loader-accent-soft);
	animation: sgcr-loader-plate-breathe 2.8s ease-in-out infinite;
}

.sgcr-page-loader-mark-ring {
	position: absolute;
	inset: -7px;
	border-radius: 50%;
	border: 1.5px solid transparent;
	border-top-color: var(--sgcr-loader-accent);
	border-right-color: var(--sgcr-loader-accent-soft);
	opacity: 0.75;
	animation: sgcr-loader-ring-spin 1.35s linear infinite;
	pointer-events: none;
}

.sgcr-page-loader-mark {
	position: relative;
	z-index: 1;
	width: 4.1rem;
	height: 4.1rem;
	display: block;
	background-color: transparent;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	/* No black drop-shadow — that looked like a stroke around the clover */
	filter: drop-shadow(0 0 12px var(--sgcr-loader-accent-soft));
}

.sgcr-page-loader-mark-aura,
.sgcr-page-loader-mark-core {
	display: none !important;
}

.sgcr-page-loader[data-theme="green"] .sgcr-page-loader-mark {
	background-image: url("icons/sgcr-loader-clover-green.png?v=20261011-ae");
}

.sgcr-page-loader[data-theme="gold"] .sgcr-page-loader-mark {
	/* Zlatý štvorlístok = prefarbený zelený (rovnaký tvar aj veľkosť) */
	background-image: url("icons/sgcr-loader-clover-gold.png?v=20261011-ae");
}

.sgcr-page-loader-copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.45rem;
}

/* Malý nadpis nad názvom: „ŠPORTOVÉ TURNAJE“ */
.sgcr-page-loader-kicker {
	margin: 0 0 -0.4rem;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.26em;
	text-indent: 0.26em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
	white-space: nowrap;
}

.sgcr-page-loader-sub {
	white-space: nowrap;
	margin: 0;
	font-family: "Space Grotesk", "Commissioner", system-ui, sans-serif;
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	/* Rovnaké farby ako „Katkin Park“ na domovskej stránke (.nadpis-KP). */
	color: transparent;
	-webkit-text-fill-color: transparent;
	background: linear-gradient(to right, rgb(0, 255, 128), rgb(0, 248, 83));
	-webkit-background-clip: text;
	background-clip: text;
	filter: drop-shadow(0 0 18px rgba(0, 255, 128, 0.22));
}

/* Finálová (zlatá) téma — bielo-zlatý lesk ako na domovskej stránke. */
.sgcr-page-loader[data-theme="gold"] .sgcr-page-loader-sub {
	background: linear-gradient(
		100deg,
		#ffffff 0%,
		#ffffff 36%,
		#fff1cf 45%,
		#ffd98a 50%,
		#fff1cf 55%,
		#ffffff 64%,
		#ffffff 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	filter: drop-shadow(0 0 16px rgba(255, 179, 48, 0.25));
}

.sgcr-page-loader-label {
	display: none;
	margin: 0;
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.28em;
	text-indent: 0.28em;
	text-transform: uppercase;
	color: var(--sgcr-loader-muted);
}

.sgcr-page-loader-progress {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.55rem;
}

.sgcr-page-loader-track {
	height: 4px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.05);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.sgcr-page-loader[data-theme="green"] .sgcr-page-loader-track {
	background: rgba(0, 248, 83, 0.07);
	border-color: rgba(0, 248, 83, 0.14);
}

.sgcr-page-loader[data-theme="gold"] .sgcr-page-loader-track {
	background: rgba(92, 45, 19, 0.35);
	border-color: rgba(255, 179, 48, 0.18);
}

.sgcr-page-loader-bar-fill {
	display: block;
	height: 100%;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(90deg, transparent, var(--sgcr-loader-accent));
	box-shadow: 0 0 12px var(--sgcr-loader-accent-glow);
	transition: width 280ms cubic-bezier(0.22, 1, 0.36, 1);
	position: relative;
}

.sgcr-page-loader[data-theme="green"] .sgcr-page-loader-bar-fill {
	background: linear-gradient(90deg, rgba(0, 160, 55, 0.35), rgb(0, 248, 83));
}

.sgcr-page-loader[data-theme="gold"] .sgcr-page-loader-bar-fill {
	background: linear-gradient(90deg, rgba(148, 78, 38, 0.55), rgb(255, 179, 48) 60%, rgb(255, 220, 150));
}

.sgcr-page-loader-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 1rem;
	text-align: center;
}

.sgcr-page-loader-meta-left {
	display: none;
}

.sgcr-page-loader-pct {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 0.8rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.08em;
	color: var(--sgcr-loader-accent-dim);
	text-align: center;
}

@keyframes sgcr-loader-inner-in {
	from {
		opacity: 0;
		transform: translateY(12px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes sgcr-loader-bloom {
	0%, 100% {
		opacity: 0.45;
		transform: scale(0.94);
	}
	50% {
		opacity: 0.82;
		transform: scale(1.04);
	}
}

@keyframes sgcr-loader-plate-breathe {
	0%, 100% {
		transform: scale(1);
		box-shadow:
			0 0 0 1px rgba(255, 255, 255, 0.03) inset,
			0 10px 28px rgba(0, 0, 0, 0.45),
			0 0 28px var(--sgcr-loader-accent-soft);
	}
	50% {
		transform: scale(1.018);
		box-shadow:
			0 0 0 1px rgba(255, 255, 255, 0.04) inset,
			0 12px 32px rgba(0, 0, 0, 0.5),
			0 0 40px var(--sgcr-loader-accent-glow);
	}
}

@keyframes sgcr-loader-ring-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sgcr-page-loader {
		transition: none;
	}
	.sgcr-page-loader-inner,
	.sgcr-page-loader-mark-bloom,
	.sgcr-page-loader-mark-plate,
	.sgcr-page-loader-mark-ring {
		animation: none;
	}
	.sgcr-page-loader-bar-fill {
		transition: none;
	}
}
