/* Opt-in native text links/actions; cards and third-party anchors are untouched. */
.ya-link,
.is-style-ya-links a {
	box-sizing: border-box;
	display: inline-flex;
	align-items: baseline;
	gap: var(--ya-spacing-04);
	max-width: 100%;
	padding: 0;
	border: 0;
	border-radius: 2px;
	background: transparent;
	color: var(--wp--custom--color--link-primary);
	font-family: var(--wp--preset--font-family--figtree);
	font-size: var(--wp--preset--font-size--link-md);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: start;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
	overflow-wrap: anywhere;
	cursor: pointer;
	transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ya-link.ya-link--lg { font-size: var(--wp--preset--font-size--link-lg); }
.ya-link.ya-link--sm { font-size: var(--wp--preset--font-size--link-sm); gap: var(--ya-spacing-02); }
.ya-link__label { min-width: 0; }
.ya-link__icon { align-self: center; display: inline-flex; flex: 0 0 20px; width: 20px; height: 20px; }
.ya-link--sm .ya-link__icon { flex-basis: 16px; width: 16px; height: 16px; }
.ya-link__icon svg { width: 100%; height: 100%; }

/* :visited needs direct color declarations; custom-property changes are private. */
a.ya-link:visited,
.is-style-ya-links a:visited { color: var(--wp--custom--color--link-primary-visited); }
.ya-link:hover:where(:not(:disabled):not([aria-disabled="true"])),
.is-style-ya-links a:hover { color: var(--wp--custom--color--link-primary-hover); text-decoration-thickness: 2px; }
a.ya-link:visited:hover,
.is-style-ya-links a:visited:hover { color: var(--wp--custom--color--link-primary-visited-hover); }

.ya-link.ya-link--inverse { color: var(--wp--custom--color--link-inverse); }
a.ya-link.ya-link--inverse:visited { color: var(--wp--custom--color--link-inverse-visited); }
.ya-link.ya-link--inverse:hover:where(:not(:disabled):not([aria-disabled="true"])) { color: var(--wp--custom--color--link-inverse-hover); text-decoration-thickness: 2px; }
a.ya-link.ya-link--inverse:visited:hover { color: var(--wp--custom--color--link-inverse-hover); }

.ya-link:focus-visible,
.is-style-ya-links a:focus-visible {
	outline: 2px solid var(--wp--custom--color--focus-border);
	outline-offset: -2px;
}
.ya-link.ya-link--inverse:focus-visible { outline-color: var(--wp--custom--color--focus-border-inverse); }

/* Disabled navigation is a non-focusable span, never an actionable href. */
span.ya-link[aria-disabled="true"],
button.ya-link:disabled { color: var(--wp--custom--color--link-primary-disabled); cursor: default; }
span.ya-link.ya-link--inverse[aria-disabled="true"],
button.ya-link.ya-link--inverse:disabled { color: var(--wp--custom--color--link-secondary-disabled); }

@media (prefers-reduced-motion: reduce) {
	.ya-link,
	.is-style-ya-links a { transition: none; }
}
[data-reduced-motion="true"] .ya-link,
[data-reduced-motion="true"] .is-style-ya-links a { transition: none; }

@media (forced-colors: active) {
	.ya-link:focus-visible,
	.is-style-ya-links a:focus-visible { outline-color: Highlight; }
	.ya-link.ya-link--inverse:focus-visible { outline-color: Highlight; }
	span.ya-link[aria-disabled="true"],
	button.ya-link:disabled { color: GrayText; }
}
