/*
 * Dezente Animationen für alle Besucher (geladen in functions.php).
 * Animiert werden ausschließlich transform und opacity.
 * "Bewegung reduzieren" wird über die globale Regel in style.css respektiert.
 */

:root {
	--motion-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--motion-fast: 180ms;
	--motion-base: 260ms;
	--motion-slow: 600ms;
}

/* 1. Einblenden beim Scrollen
   Versteckt wird nur, wenn motion.js läuft (.motion-ready) – ohne JS bleibt alles sichtbar. */
.motion-ready [data-reveal] {
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity var(--motion-slow) var(--motion-ease-out),
		transform var(--motion-slow) var(--motion-ease-out);
	transition-delay: var(--reveal-delay, 0ms);
}

.motion-ready [data-reveal].is-revealed {
	opacity: 1;
	transform: none;
}

/* 2. Karten: leicht anheben
   Ausgelöst über das Elternelement, das sich nicht bewegt – sonst verlässt die
   Maus am unteren Rand die angehobene Karte und es flackert.
   Kein Bild-Zoom: die Wellenkanten (::before/::after) würden überdeckt.
   Die News-Karten im Slider bleiben ruhig, der Slider schneidet sie oben ab. */
.primary-content-box,
.card-fiz {
	transition:
		transform var(--motion-base) var(--motion-ease-out),
		box-shadow var(--motion-base) var(--motion-ease-out);
}

:hover > .primary-content-box,
:hover > .card-fiz {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px -12px rgba(0, 0, 0, 0.28);
}

/* Link-Leiste der Karten färbt weich um statt zu springen */
.news-box-new .link-box,
.primary-content-box .link-box,
.card-fiz .link-box {
	transition: background-color var(--motion-base) ease;
}

/* 3. Buttons: kurzes Nachgeben beim Klicken */
.sidebar-button,
.button-default,
.btn-primary,
.btn-white {
	transition:
		color var(--motion-fast) ease,
		background-color var(--motion-fast) ease,
		transform 120ms var(--motion-ease-out);
}

.sidebar-button:active,
.button-default:active,
.btn-primary:active,
.btn-white:active {
	transform: scale(0.97);
}

/* 4. Hauptmenü-Dropdown: kommt leicht von oben, schließt schneller als es öffnet */
#menu-hauptmenue-fiz-1 .dropdown-menu,
#menu-hauptmenue-fiz-2 .dropdown-menu {
	transform: translateY(-6px);
	transition:
		opacity 120ms ease,
		transform 120ms ease,
		visibility 0s linear 120ms;
}

#menu-hauptmenue-fiz-1 .dropdown:hover .dropdown-menu,
#menu-hauptmenue-fiz-2 .dropdown:hover .dropdown-menu,
#menu-hauptmenue-fiz-1 .dropdown:focus-within .dropdown-menu,
#menu-hauptmenue-fiz-2 .dropdown:focus-within .dropdown-menu,
#menu-hauptmenue-fiz-1 .dropdown-menu.show,
#menu-hauptmenue-fiz-2 .dropdown-menu.show {
	transform: none;
	transition:
		opacity var(--motion-fast) var(--motion-ease-out),
		transform var(--motion-fast) var(--motion-ease-out),
		visibility 0s;
}

/* Kein Anheben auf Touch-Geräten, dort bleibt :hover sonst "hängen" */
@media (hover: none) {
	:hover > .primary-content-box,
	:hover > .card-fiz {
		transform: none;
		box-shadow: none;
	}
}
