/**
 * Design-Extras – Frontend-Styles (Animationen & Hover-Effekte).
 * Der Ausgangszustand der Animation wird erst durch die Klasse
 * .nsw-anim--ready aktiv, die view.js setzt – ohne JavaScript bleibt der
 * Inhalt also sichtbar.
 */

.nsw-anim--ready {
	opacity: 0;
	transition-property: opacity, transform;
	transition-timing-function: cubic-bezier( 0.22, 0.61, 0.36, 1 );
	will-change: opacity, transform;
}

.nsw-anim--ready[data-nsw-anim="fade-up"] {
	transform: translateY( 24px );
}

.nsw-anim--ready[data-nsw-anim="fade-down"] {
	transform: translateY( -24px );
}

.nsw-anim--ready[data-nsw-anim="slide-left"] {
	transform: translateX( 24px );
}

.nsw-anim--ready[data-nsw-anim="slide-right"] {
	transform: translateX( -24px );
}

.nsw-anim--ready[data-nsw-anim="zoom"] {
	transform: scale( 0.94 );
}

.nsw-anim.is-visible {
	opacity: 1 !important;
	transform: none !important;
}

/* Hover-Effekte */
.nsw-hover-lift {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.nsw-hover-lift:hover {
	transform: translateY( -4px );
	box-shadow: var( --wp--preset--shadow--deep, 0 10px 30px rgba( 17, 17, 19, 0.18 ) );
}

.nsw-hover-grow {
	transition: transform 0.2s ease;
}

.nsw-hover-grow:hover {
	transform: scale( 1.03 );
}

.nsw-hover-glow {
	transition: box-shadow 0.2s ease;
}

.nsw-hover-glow:hover {
	box-shadow: var( --wp--preset--shadow--glow, 0 12px 30px rgba( 124, 58, 237, 0.28 ) );
}

@media ( prefers-reduced-motion: reduce ) {
	.nsw-anim--ready {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.nsw-hover-lift,
	.nsw-hover-grow,
	.nsw-hover-glow {
		transition: none;
	}
}

/* Responsive Sichtbarkeit (Breakpoints: Tablet < 782px, Mobil < 600px) */
@media ( min-width: 782px ) {
	.nsw-hide-desktop {
		display: none !important;
	}
}

@media ( min-width: 600px ) and ( max-width: 781.98px ) {
	.nsw-hide-tablet {
		display: none !important;
	}
}

@media ( max-width: 599.98px ) {
	.nsw-hide-mobile {
		display: none !important;
	}
}
