.zkbv-text-underline {
	text-decoration-color: #ff5410;
	text-decoration-line: underline;
}

/* Standard text links keep their surrounding typography, not the CTA preset.
 * PHP marks only Core text blocks; the canvas mirrors those same block types. */
:root .zkbv-text-link:where(:not(.zkbv-site-header *, .zkbv-site-footer *)),
:root
	.editor-styles-wrapper
	:where(
		[data-type='core/paragraph'],
		[data-type='core/heading'],
		[data-type='core/list'],
		[data-type='core/list-item'],
		[data-type='core/table']
	)
	a[href]:not(
		.zkbv-cta-link__anchor,
		.wp-element-button,
		.wp-block-button__link,
		:where(.zkbv-site-header *, .zkbv-site-footer *)
	) {
	--zkbv-text-link-active-color: var(
		--zkbv-text-link-color,
		var(--wp--preset--color--zkbv-brand-accent)
	);
	background-image: linear-gradient(
		var(--zkbv-text-link-active-color),
		var(--zkbv-text-link-active-color)
	);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 0.1875rem;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-decoration: none;
	transition: background-size 0.2s ease-out;
}

:root
	.zkbv-text-link:where(:not(.zkbv-site-header *, .zkbv-site-footer *)):is(
		:hover,
		:focus-visible
	),
:root
	.editor-styles-wrapper
	:where(
		[data-type='core/paragraph'],
		[data-type='core/heading'],
		[data-type='core/list'],
		[data-type='core/list-item'],
		[data-type='core/table']
	)
	a[href]:not(
		.zkbv-cta-link__anchor,
		.wp-element-button,
		.wp-block-button__link,
		:where(.zkbv-site-header *, .zkbv-site-footer *)
	):is(:hover, :focus-visible) {
	--zkbv-text-link-active-color: var(
		--zkbv-text-link-hover-color,
		var(--zkbv-text-link-color, var(--wp--preset--color--zkbv-brand-accent))
	);
	background-size: 100% 1.25rem;
	color: inherit;
}

@media (prefers-reduced-motion: reduce) {
	:root .zkbv-text-link:where(:not(.zkbv-site-header *, .zkbv-site-footer *)),
	:root
		.editor-styles-wrapper
		:where(
			[data-type='core/paragraph'],
			[data-type='core/heading'],
			[data-type='core/list'],
			[data-type='core/list-item'],
			[data-type='core/table']
		)
		a[href]:not(
			.zkbv-cta-link__anchor,
			.wp-element-button,
			.wp-block-button__link,
			:where(.zkbv-site-header *, .zkbv-site-footer *)
		) {
		transition: none;
	}
}

/* Text-only highlights must not inherit the browser's yellow mark background.
 * Explicit inline backgrounds and palette background classes retain priority. */
mark.has-inline-color {
	background-color: transparent;
}
