/* ===========================================================================
   Feinschliff: Effekte, die die Marke unterstützen – ruhig, schnell und
   vollständig abschaltbar über „Bewegung reduzieren“.
   =========================================================================== */

/* --- Lesefortschritt am oberen Rand -------------------------------------- */

.asz-progress {
	position: fixed;
	inset: 0 0 auto 0;
	height: 3px;
	z-index: 300;
	background: transparent;
	pointer-events: none;
}

.asz-progress__bar {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--wp--preset--color--accent), var(--wp--preset--color--accent-soft));
	box-shadow: 0 0 12px rgba(18, 208, 126, .6);
	transform-origin: left;
	transition: width 80ms linear;
}

/* --- Hero: ruhiges Leuchten hinter der Überschrift ----------------------- */

.wp-block-cover.asz-hero::before {
	content: "";
	position: absolute;
	width: 46rem;
	height: 46rem;
	left: -12rem;
	top: -16rem;
	background: radial-gradient(circle, rgba(18, 208, 126, .30) 0%, rgba(18, 208, 126, 0) 65%);
	pointer-events: none;
	z-index: 0;
	animation: asz-drift 18s ease-in-out infinite alternate;
}

@keyframes asz-drift {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to   { transform: translate3d(5rem, 3rem, 0) scale(1.12); }
}

/* --- Hero-Überschrift: Wörter gleiten nacheinander ein ------------------- */

.asz-hero h1 .asz-word {
	display: inline-block;
	opacity: 0;
	transform: translateY(.5em);
	animation: asz-word-in 700ms cubic-bezier(.2, .7, .3, 1) forwards;
	animation-delay: calc(var(--asz-i, 0) * 55ms + 120ms);
}

@keyframes asz-word-in {
	to { opacity: 1; transform: none; }
}

/* --- Mega-Menü: sanftes Einblenden --------------------------------------- */

@media (min-width: 1100px) {
	.asz-nav--main .wp-block-navigation__submenu-container {
		transform: translateY(-6px);
		transition: opacity 200ms cubic-bezier(.2, .7, .3, 1),
			transform 260ms cubic-bezier(.2, .7, .3, 1),
			visibility 200ms;
	}

	.asz-nav--main .wp-block-navigation-item:hover > .wp-block-navigation__submenu-container,
	.asz-nav--main .wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-container,
	.asz-nav--main .wp-block-navigation-item .wp-block-navigation__submenu-container:hover {
		transform: translateY(0);
	}
}

/* --- Buttons: kurzer Lichtstreif beim Hover ------------------------------ */

.wp-block-button__link {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 -60%;
	width: 45%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent);
	transform: skewX(-18deg);
	opacity: 0;
	z-index: -1;
}

.wp-block-button__link:hover::before {
	animation: asz-sheen 700ms ease-out;
}

@keyframes asz-sheen {
	0%   { left: -60%; opacity: 0; }
	15%  { opacity: 1; }
	100% { left: 130%; opacity: 0; }
}

/* --- Kennzahlen: Verlaufsschrift ----------------------------------------- */

.asz-stat__value {
	background: linear-gradient(120deg, var(--wp--preset--color--accent) 0%, var(--wp--preset--color--accent-soft) 60%, #9ef0c4 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.asz-section:not(.asz-on-dark) .asz-stat__value {
	background: linear-gradient(120deg, var(--wp--preset--color--primary) 0%, #0b8f6e 55%, var(--wp--preset--color--accent) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* --- Karten: Lichtkegel folgt dem Zeiger --------------------------------- */

@media (hover: hover) {
	.asz-pillar,
	.asz-tile {
		--asz-x: 50%;
		--asz-y: 0%;
	}

	.asz-pillar::after,
	.asz-tile::after {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: inherit;
		background: radial-gradient(260px circle at var(--asz-x) var(--asz-y), rgba(18, 208, 126, .14), transparent 65%);
		opacity: 0;
		transition: opacity var(--asz-t);
		pointer-events: none;
	}

	.asz-pillar:hover::after,
	.asz-tile:hover::after {
		opacity: 1;
	}
}

.asz-tile {
	position: relative;
	overflow: hidden;
}

/* --- Abschnittskanten: weicher Übergang ---------------------------------- */

.asz-section.asz-on-dark + .asz-section:not(.asz-on-dark),
.asz-section.asz-surface + .asz-section:not(.asz-surface) {
	position: relative;
}

/* --- Akkordeon: Pfeil dreht weicher -------------------------------------- */

.wp-block-details > summary::after {
	transition: transform 320ms cubic-bezier(.2, .7, .3, 1), background-color var(--asz-t);
}

/* --- Fokus sichtbar halten ------------------------------------------------ */

.asz-hero h1 .asz-word:focus-visible {
	outline: none;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-cover.asz-hero::before {
		animation: none;
	}

	.asz-hero h1 .asz-word {
		opacity: 1;
		transform: none;
		animation: none;
	}

	.wp-block-button__link:hover::before {
		animation: none;
	}

	.asz-progress__bar {
		transition: none;
	}
}
