/**
 * core/cover: Hover-/Focus-Reveal (Verlauf + ausklappbarer Text).
 * Editor: Block-Stil „Reveal (Hover)“ oder Zusatzklasse precisis-cover-reveal.
 * Innerhalb: Überschrift .precisis-cover-reveal__title, Absatz .precisis-cover-reveal__text.
 */
.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal) {
	position: relative;
	overflow: hidden;
	isolation: isolate;

	--reveal-duration: 360ms;
	--reveal-easing: cubic-bezier(0.2, 0.8, 0.2, 1);
}

.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal)::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;

	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 25%,
		rgba(0, 0, 0, 0.72) 100%
	);

	opacity: 0;
	transition: opacity var(--reveal-duration) var(--reveal-easing);
}

.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal) .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
}

.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal) .precisis-cover-reveal__title {
	margin-bottom: 0;
}

.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal) .precisis-cover-reveal__text {
	max-height: 0;
	margin-top: 0;
	margin-bottom: 0;
	overflow: hidden;

	opacity: 0;
	transform: translateY(1rem);

	transition:
		max-height var(--reveal-duration) var(--reveal-easing),
		margin-top var(--reveal-duration) var(--reveal-easing),
		opacity 220ms ease,
		transform var(--reveal-duration) var(--reveal-easing);
}

.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal):is(:hover, :focus-within)::after {
	opacity: 1;
}

.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal):is(:hover, :focus-within) .precisis-cover-reveal__text {
	max-height: 8em;
	margin-top: clamp(0.75rem, 1.2vw, 1rem);

	opacity: 1;
	transform: translateY(0);
}

@media (hover: none) {
	.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal)::after {
		opacity: 1;
	}

	.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal) .precisis-cover-reveal__text {
		max-height: none;
		margin-top: clamp(0.75rem, 1.2vw, 1rem);
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal)::after,
	.wp-block-cover:is(.precisis-cover-reveal, .is-style-precisis-cover-reveal) .precisis-cover-reveal__text {
		transition: none;
	}
}
