/**
 * Shared motion — float, reveal, hover lift (home / podcast / videocast).
 */

@keyframes shf-float-soft {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-8px);
	}
}

@keyframes shf-float-hero {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-12px);
	}
}

@keyframes shf-reveal-up {
	from {
		opacity: 0;
		transform: translateY(28px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* —— Reveal on scroll —— */
.shf-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--shf-reveal-delay, 0s);
	will-change: opacity, transform;
}

.shf-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.shf-reveal-section {
	opacity: 0;
	transform: translateY(36px);
	transition:
		opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

.shf-reveal-section.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* —— Continuous float (after reveal) —— */
.shf-motion-float {
	will-change: transform;
}

.shf-reveal.shf-motion-float.is-visible,
.shf-reveal-section.shf-motion-float.is-visible {
	animation: shf-float-soft 4.2s ease-in-out 0.75s infinite;
}

.shf-reveal.shf-motion-float--slow.is-visible,
.shf-reveal-section.shf-motion-float--slow.is-visible {
	animation-duration: 5.2s;
}

.shf-reveal.shf-motion-float--delay-1.is-visible {
	animation-delay: 1.1s;
}

.shf-reveal.shf-motion-float--delay-2.is-visible {
	animation-delay: 1.45s;
}

.shf-reveal.shf-motion-float--delay-3.is-visible {
	animation-delay: 1.8s;
}

.shf-home-hero__visual img,
.shf-pod-feature__visual img {
	animation: shf-float-hero 5s ease-in-out infinite;
	will-change: transform;
}

/* —— Hover lift (glass cards) —— */
.shf-course-card,
.shf-crs-card,
.shf-crs-path,
.shf-crs-cat,
.shf-spc-card,
.shf-spc-top__card,
.shf-spc-banner,
.shf-spc-review,
.shf-art-card,
.shf-art-guide,
.shf-art-review,
.shf-art-author,
.shf-acc-stat,
.shf-acc-continue__card,
.shf-acc-sum,
.shf-acc-address,
.shf-abt-card,
.shf-abt-stat,
.shf-abt-why__card,
.shf-abt-person,
.shf-abt-eco__card,
.shf-abt-review,
.shf-ct-info,
.shf-ct-channel,
.shf-media-tile,
.shf-glass-card,
.shf-article-feature,
.shf-pod-pop,
.shf-pod-latest__item,
.shf-pod-review,
.shf-pod-cat,
.shf-pod-host,
.shf-vid-card-lg,
.shf-vid-card-sm,
.shf-vid-playlist,
.shf-vid-progress-card,
.shf-vid-host,
.shf-vid-review,
.shf-vid-faq__item,
.shf-crs-review,
.shf-crs-host,
.shf-home-features__item {
	transition:
		transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.35s ease,
		border-color 0.25s ease,
		filter 0.25s ease;
}

.shf-course-card:hover,
.shf-crs-card:hover,
.shf-crs-path:hover,
.shf-spc-card:hover,
.shf-spc-top__card:hover,
.shf-spc-banner:hover,
.shf-spc-review:hover,
.shf-art-card:hover,
.shf-art-guide:hover,
.shf-art-review:hover,
.shf-art-author:hover,
.shf-acc-stat:hover,
.shf-acc-continue__card:hover,
.shf-acc-sum:hover,
.shf-acc-address:hover,
.shf-abt-card:hover,
.shf-abt-stat:hover,
.shf-abt-why__card:hover,
.shf-abt-eco__card:hover,
.shf-abt-review:hover,
.shf-ct-info:hover,
.shf-ct-channel:hover,
.shf-media-tile:hover,
.shf-article-feature:hover,
.shf-pod-pop:hover,
.shf-pod-latest__item:hover,
.shf-pod-review:hover,
.shf-vid-card-lg:hover,
.shf-vid-card-sm:hover,
.shf-vid-playlist:hover,
.shf-vid-progress-card:hover,
.shf-vid-review:hover,
.shf-crs-review:hover {
	transform: translateY(-8px);
	box-shadow: 0 22px 48px rgba(45, 62, 51, 0.12);
}

html[data-theme="dark"] .shf-course-card:hover,
html[data-theme="dark"] .shf-crs-card:hover,
html[data-theme="dark"] .shf-crs-path:hover,
html[data-theme="dark"] .shf-spc-card:hover,
html[data-theme="dark"] .shf-spc-banner:hover,
html[data-theme="dark"] .shf-art-card:hover,
html[data-theme="dark"] .shf-art-guide:hover,
html[data-theme="dark"] .shf-art-review:hover,
html[data-theme="dark"] .shf-art-author:hover,
html[data-theme="dark"] .shf-media-tile:hover,
html[data-theme="dark"] .shf-article-feature:hover,
html[data-theme="dark"] .shf-pod-pop:hover,
html[data-theme="dark"] .shf-pod-latest__item:hover,
html[data-theme="dark"] .shf-pod-review:hover,
html[data-theme="dark"] .shf-vid-card-lg:hover,
html[data-theme="dark"] .shf-vid-card-sm:hover,
html[data-theme="dark"] .shf-vid-playlist:hover,
html[data-theme="dark"] .shf-vid-progress-card:hover,
html[data-theme="dark"] .shf-vid-review:hover,
html[data-theme="dark"] .shf-crs-review:hover {
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.45);
}

.shf-pod-cat:hover,
.shf-pod-host:hover,
.shf-vid-host:hover {
	transform: translateY(-6px);
}

.shf-motion-float.is-visible:hover,
.shf-reveal.shf-motion-float.is-visible:hover {
	animation-play-state: paused;
	transform: translateY(-10px);
}

/* Play / CTA press */
.shf-pill:active,
.shf-vid-btn:active,
.shf-pod-player__play:active,
.shf-header-auth:active {
	transform: scale(0.96);
}

/* Soft glass polish on key shells */
.shf-glass-card,
.shf-pod-card,
.shf-pod-feature,
.shf-vid-card,
.shf-vid-feature {
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

@media (prefers-reduced-motion: reduce) {
	.shf-reveal,
	.shf-reveal-section,
	.shf-motion-float,
	.shf-home-hero__visual img,
	.shf-pod-feature__visual img {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.shf-course-card:hover,
	.shf-media-tile:hover,
	.shf-article-feature:hover,
	.shf-pod-pop:hover,
	.shf-pod-latest__item:hover,
	.shf-pod-review:hover,
	.shf-vid-card-lg:hover,
	.shf-vid-card-sm:hover,
	.shf-vid-playlist:hover,
	.shf-vid-progress-card:hover,
	.shf-vid-review:hover,
	.shf-pod-cat:hover,
	.shf-pod-host:hover,
	.shf-vid-host:hover {
		transform: none;
	}
}
