/* Intent roles are independent of URL scheme and HTML tag. Native Button defaults
   to a content route; explicit block styles and component classes select the rest. */
:is(.wp-element-button, .wp-block-button__link, .wp-block-read-more) {
	--outloud-button-bg: var(--wp--custom--button--page--background);
	--outloud-button-hover: var(--wp--custom--button--page--hover);
	--outloud-button-active: var(--wp--custom--button--page--active);
	--outloud-button-text: var(--wp--custom--button--page--text);
	--outloud-button-border: var(--wp--custom--button--page--border);
	--outloud-button-hover-border: var(--outloud-button-border);
	--outloud-button-active-border: var(--outloud-button-border);
	--outloud-button-font-size: var(--wp--custom--button--font-size);
	--outloud-button-weight: var(--wp--custom--button--weight);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: var(--wp--custom--button--min-height);
	max-width: 100%;
	padding: var(--wp--custom--button--padding-block) var(--wp--custom--button--padding-inline);
	border: var(--wp--custom--button--border-width) solid var(--outloud-button-border);
	border-radius: var(--wp--custom--button--radius);
	background: var(--outloud-button-bg);
	color: var(--outloud-button-text);
	font-family: inherit;
	font-size: var(--outloud-button-font-size);
	font-weight: var(--outloud-button-weight);
	line-height: var(--wp--custom--button--line-height);
	text-align: center;
	text-decoration: none;
	white-space: normal;
	overflow-wrap: anywhere;
	cursor: pointer;
}
:is(.is-style-outloud-action > .wp-block-button__link, .is-style-outloud-action > .wp-element-button, .wp-element-button.is-style-outloud-action, .wp-block-read-more.is-style-outloud-action) {
	--outloud-button-bg: var(--wp--custom--button--action--background);
	--outloud-button-hover: var(--wp--custom--button--action--hover);
	--outloud-button-active: var(--wp--custom--button--action--active);
	--outloud-button-text: var(--wp--custom--button--action--text);
	--outloud-button-border: var(--wp--custom--button--action--border);
	--outloud-button-hover-border: var(--wp--custom--button--action--hover);
	--outloud-button-active-border: var(--wp--custom--button--action--active);
	--outloud-button-font-size: var(--wp--custom--button--action--font-size);
	--outloud-button-weight: var(--wp--custom--button--action--weight);
}
:is(.is-style-outloud-control > .wp-block-button__link, .is-style-outloud-control > .wp-element-button, .wp-element-button.is-style-outloud-control) {
	--outloud-button-bg: var(--wp--custom--button--control--background);
	--outloud-button-hover: var(--wp--custom--button--control--hover);
	--outloud-button-active: var(--wp--custom--button--control--active);
	--outloud-button-text: var(--wp--custom--button--control--text);
	--outloud-button-border: var(--wp--custom--button--control--border);
	min-height: var(--wp--custom--button--control--min-height);
}
:is(.wp-element-button, .wp-block-button__link, .wp-block-read-more):hover {
	background: var(--outloud-button-hover);
	border-color: var(--outloud-button-hover-border);
	color: var(--outloud-button-text);
	text-decoration: none;
}
:is(.wp-element-button, .wp-block-button__link, .wp-block-read-more):active {
	background: var(--outloud-button-active);
	border-color: var(--outloud-button-active-border);
	color: var(--outloud-button-text);
}
:is(.wp-element-button, .wp-block-button__link, .wp-block-read-more):focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--custom--focus--color);
	outline-offset: var(--wp--custom--focus--offset);
	box-shadow: 0 0 0 var(--wp--custom--focus--offset) var(--wp--preset--color--auris-white);
}
:is(.wp-element-button, .wp-block-button__link):disabled,
:is(.wp-element-button, .wp-block-button__link)[aria-disabled="true"] {
	background: var(--wp--preset--color--auris-disabled-bg);
	border-color: var(--wp--preset--color--auris-disabled-bg);
	color: var(--wp--preset--color--auris-disabled-text);
	cursor: default;
}
.wp-block-buttons { gap: max(.75rem, var(--wp--style--block-gap, .75rem)); }
@media (forced-colors: active) {
	:is(.wp-element-button, .wp-block-button__link, .wp-block-read-more) { border-color: ButtonText; }
	:is(.wp-element-button, .wp-block-button__link, .wp-block-read-more):focus-visible { outline-color: Highlight; box-shadow: none; }
	:is(.wp-element-button, .wp-block-button__link):disabled,
	:is(.wp-element-button, .wp-block-button__link)[aria-disabled="true"] { border-color: GrayText; color: GrayText; }
}
