/* Racoon Footer Walker – Bühne, Boden, aufrechter Waschbär, Pakete */

.racw-stage {
	position: fixed;
	left: 0;
	right: 0;
	pointer-events: none;
	overflow: hidden;
	/* bottom / height / z-index werden inline gesetzt */
}

/* Dezente Bodenlinie */
.racw-stage--ground::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(0, 100, 75, .55), transparent);
}

/* Waschbär */
.racw-raccoon {
	position: absolute;
	bottom: 0;
	left: 0;
	will-change: transform;
}
.racw-svg {
	height: 100%;
	width: auto;
	display: block;
	transform-origin: center bottom;
	transform: scaleX(var(--racw-dir, 1));
	overflow: visible;
}

/* Paket / Kiste */
.racw-crate {
	position: absolute;
	bottom: 0;
	left: 0;
	will-change: transform, opacity;
	opacity: 0;                 /* erscheint per JS (Einblenden) */
	transition: opacity .45s ease;
}
.racw-crate.is-in { opacity: 1; }
.racw-crate.is-out { opacity: 0; }
.racw-crate svg { display: block; height: 100%; width: auto; }

/* ---- Lauf-Animationen (nur Klasse .racw-walking) ---- */
.racw-leg { transform-box: fill-box; transform-origin: 50% 0%; }
.racw-walking .racw-leg--l { animation: racw-step .4s ease-in-out infinite; }
.racw-walking .racw-leg--r { animation: racw-step .4s ease-in-out infinite; animation-delay: -.2s; }
@keyframes racw-step {
	0%, 100% { transform: rotate(15deg); }
	50%      { transform: rotate(-15deg); }
}

.racw-body { transform-box: fill-box; }
.racw-walking .racw-body { animation: racw-bob .4s ease-in-out infinite; }
@keyframes racw-bob {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-2.5px); }
}

.racw-tail { transform-box: fill-box; transform-origin: 80% 40%; }
.racw-walking .racw-tail { animation: racw-tail .8s ease-in-out infinite; }
@keyframes racw-tail {
	0%, 100% { transform: rotate(-6deg); }
	50%      { transform: rotate(8deg); }
}

/* leichte Bück-Pose beim Aufheben/Abstellen */
.racw-raccoon.is-bending .racw-svg { transform: scaleX(var(--racw-dir, 1)) translateY(3px) rotate(2deg); }

@media (prefers-reduced-motion: reduce) {
	.racw-walking .racw-leg--l,
	.racw-walking .racw-leg--r,
	.racw-walking .racw-body,
	.racw-walking .racw-tail { animation: none !important; }
}
