/* =====================================================================
   Custom Logo (GamezFullPC icon logos) — loaded only while the custom
   logo is on. Designs: gamepad, supercar, headset, pumpkin.
   Markup: inc/custom-logo.php. Pure CSS animation, no JS, no requests.
   ===================================================================== */
.gzfc-logo {
	--gzfc-logo-text: #fff;
	display: inline-block;
	line-height: 0;
	max-width: 100%;
	text-decoration: none;
	/* Left / Right position setting (Customizer). */
	transform: translateX(var(--gzfc-logo-x, 0px));
}
html[data-gzf-theme="light"] .gzfc-logo {
	--gzfc-logo-text: #111;
}
.gzfc-logo:focus-visible {
	outline: 2px solid var(--gzfc-logo-accent, #e8141c);
	outline-offset: 3px;
}
.gzfc-logo__svg {
	display: block;
	overflow: visible;
	width: min(var(--gzfc-logo-w, 300px), 100%);
	height: auto;
	/* never taller than the header allows */
	max-height: var(--gzfc-logo-maxh, calc(var(--gzf-header-height, 84px) - 8px));
	aspect-ratio: 340 / 70;
}
.gzfc-logo__text {
	fill: var(--gzfc-logo-text);
	font-family: var(--gzf-font-heading, Rajdhani), "Arial Narrow", Impact, system-ui, sans-serif;
	font-weight: 800;
	font-style: italic;
	letter-spacing: 1px;
}
.gzfc-logo__hl,
.gzfc-logo__a { fill: var(--gzfc-logo-accent, #e8141c); }
.gzfc-logo__k { fill: #050506; }
.gzfc-logo__tf { fill: var(--gzfc-logo-text); }
.gzfc-logo__ts { stroke: var(--gzfc-logo-text); }
.gzfc-logo__as { stroke: var(--gzfc-logo-accent, #e8141c); }
.gzfc-logo__sl {
	stroke: var(--gzfc-logo-text);
	stroke-width: 2;
	stroke-linecap: round;
	opacity: .5;
}

/* ---- Animations (only while "Animate the logo" is on) ---- */
.gzfc-logo.is-animated .gzfc-logo__b1 { animation: gzfc-logo-blink 3s ease-in-out infinite; }
.gzfc-logo.is-animated .gzfc-logo__b2 { animation: gzfc-logo-blink 3s .4s ease-in-out infinite; }
.gzfc-logo.is-animated .gzfc-logo__b3 { animation: gzfc-logo-blink 3s .8s ease-in-out infinite; }
.gzfc-logo.is-animated .gzfc-logo__b4 { animation: gzfc-logo-blink 3s 1.2s ease-in-out infinite; }
.gzfc-logo.is-animated .gzfc-logo__sl { animation: gzfc-logo-speed .8s linear infinite; }
.gzfc-logo.is-animated .gzfc-logo__wh {
	transform-box: fill-box;
	transform-origin: center;
	animation: gzfc-logo-spin .5s linear infinite;
}
.gzfc-logo.is-animated .gzfc-logo__wv { animation: gzfc-logo-wave 1.4s ease-in-out infinite; }
.gzfc-logo.is-animated .gzfc-logo__wv2 { animation-delay: .3s; }
.gzfc-logo.is-animated .gzfc-logo__pglow { animation: gzfc-logo-pglow 2.4s ease-in-out infinite; }
.gzfc-logo.is-animated .gzfc-logo__bat {
	transform-box: fill-box;
	transform-origin: center;
	animation: gzfc-logo-bat 1.2s ease-in-out infinite alternate;
}

@keyframes gzfc-logo-blink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@keyframes gzfc-logo-speed {
	from { transform: translateX(6px); opacity: 0; }
	30% { opacity: .8; }
	to { transform: translateX(-10px); opacity: 0; }
}
@keyframes gzfc-logo-spin { to { transform: rotate(360deg); } }
@keyframes gzfc-logo-wave { 0%, 100% { opacity: .2; } 50% { opacity: 1; } }
@keyframes gzfc-logo-pglow {
	0%, 100% { filter: drop-shadow(0 0 2px rgba(255, 40, 40, .5)); }
	50% { filter: drop-shadow(0 0 8px rgba(255, 40, 40, 1)); }
}
@keyframes gzfc-logo-bat {
	from { transform: translate(-4px, 2px) scaleY(1); }
	to { transform: translate(5px, -3px) scaleY(.55); }
}

@media (prefers-reduced-motion: reduce) {
	.gzfc-logo.is-animated:not(.is-forced-motion) .gzfc-logo__b1,
	.gzfc-logo.is-animated:not(.is-forced-motion) .gzfc-logo__b2,
	.gzfc-logo.is-animated:not(.is-forced-motion) .gzfc-logo__b3,
	.gzfc-logo.is-animated:not(.is-forced-motion) .gzfc-logo__b4,
	.gzfc-logo.is-animated:not(.is-forced-motion) .gzfc-logo__sl,
	.gzfc-logo.is-animated:not(.is-forced-motion) .gzfc-logo__wh,
	.gzfc-logo.is-animated:not(.is-forced-motion) .gzfc-logo__wv,
	.gzfc-logo.is-animated:not(.is-forced-motion) .gzfc-logo__pglow,
	.gzfc-logo.is-animated:not(.is-forced-motion) .gzfc-logo__bat { animation: none; }
}

@media (max-width: 640px) {
	.gzfc-logo { transform: translateX(var(--gzfc-logo-x-m, 0px)); }
	.gzfc-logo__svg { width: min(var(--gzfc-logo-w-m, 220px), 100%); }
}
