/* Shared, prefixed defaults. Widget controls can override these values locally. */
:root {
	--bdh-token-space-xs: 0.5rem;
	--bdh-token-space-sm: 0.75rem;
	--bdh-token-space-md: 1rem;
	--bdh-token-space-lg: 1.5rem;
	--bdh-token-radius-sm: 0.25rem;
	--bdh-token-radius-md: 0.5rem;
	--bdh-token-focus-outline: 2px solid currentColor;
	--bdh-token-focus-offset: 3px;
	--bdh-token-transition-duration: 0.2s;
	--bdh-global-color-primary: var(--ast-global-color-0, var(--e-global-color-primary, currentColor));
	--bdh-global-color-secondary: var(--ast-global-color-1, var(--e-global-color-secondary, currentColor));
	--bdh-global-color-text: var(--ast-global-color-2, var(--e-global-color-text, currentColor));
	--bdh-global-color-body: var(--ast-global-color-3, var(--e-global-color-text, currentColor));
	--bdh-global-color-accent: var(--ast-global-color-0, var(--e-global-color-accent, currentColor));
	--bdh-global-color-surface: var(--ast-global-color-4, var(--e-global-color-secondary, transparent));
	--bdh-global-color-on-media: var(--ast-global-color-5, var(--e-global-color-secondary, currentColor));
	--bdh-global-color-dark: var(--ast-global-color-7, var(--e-global-color-primary, currentColor));
	--bdh-global-color-border: var(--ast-global-color-6, currentColor);
	--bdh-global-font-heading: var(--e-global-typography-primary-font-family, inherit);
	--bdh-global-font-body: var(--e-global-typography-text-font-family, inherit);
}

.bdh-editor-empty-state {
	box-sizing: border-box;
	width: 100%;
	padding: var(--bdh-token-space-lg);
	border: 1px dashed currentColor;
	border-radius: var(--bdh-token-radius-md);
	background: repeating-linear-gradient(-45deg, transparent, transparent 8px, rgba(127, 127, 127, 0.08) 8px, rgba(127, 127, 127, 0.08) 16px);
	color: inherit;
	font-size: 0.875rem;
	line-height: 1.5;
	text-align: center;
}

.bdh-button,
a.bdh-button,
a.bdh-button:link,
a.bdh-button:visited,
a.bdh-button:hover,
a.bdh-button:focus,
a.bdh-button:active {
	--bdh-button-icon-gap: var(--bdh-button-token-icon-gap, 0.55em);
	--bdh-button-transition-duration: var(--bdh-button-token-transition-duration, var(--bdh-token-transition-duration));
	--bdh-button-motion-distance: var(--bdh-button-token-motion-distance, 2px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	text-decoration: none;
	transition-property: color, background-color, border-color, box-shadow, transform;
	transition-duration: var(--bdh-button-transition-duration);
}

.bdh-button__content {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--bdh-button-icon-gap);
	width: 100%;
}

.bdh-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.bdh-button__icon svg {
	display: block;
	width: 1em;
	height: 1em;
}

.bdh-button--width-full {
	width: 100%;
}

.bdh-button--size-sm {
	padding: var(--bdh-button-sm-padding, 0.65em 1em);
}

.bdh-button--size-md {
	padding: var(--bdh-button-md-padding, 0.85em 1.25em);
}

.bdh-button--size-lg {
	padding: var(--bdh-button-lg-padding, 1em 1.5em);
}

.bdh-button--role-primary_action {
	color: var(--bdh-button-primary-color, var(--e-global-color-text, currentColor));
	background-color: var(--bdh-button-primary-bg, var(--e-global-color-accent, transparent));
	border-color: var(--bdh-button-primary-border, transparent);
}

.bdh-button--role-secondary_action {
	color: var(--bdh-button-secondary-color, var(--e-global-color-text, currentColor));
	background-color: var(--bdh-button-secondary-bg, transparent);
	border-color: var(--bdh-button-secondary-border, currentColor);
}

.bdh-button--role-inline_action,
.bdh-button--role-card_action {
	color: var(--bdh-button-inline-color, currentColor);
	background-color: var(--bdh-button-inline-bg, transparent);
	border-color: var(--bdh-button-inline-border, transparent);
}

.bdh-button--role-overlay_action {
	color: var(--bdh-button-overlay-color, currentColor);
	background-color: var(--bdh-button-overlay-bg, transparent);
	border-color: var(--bdh-button-overlay-border, currentColor);
}

.bdh-button--preset-luxury {
	border-radius: var(--bdh-button-luxury-radius, var(--bdh-button-radius));
	box-shadow: var(--bdh-button-luxury-shadow, var(--bdh-button-shadow));
}

.bdh-button--preset-editorial {
	border-radius: var(--bdh-button-editorial-radius, var(--bdh-button-radius));
	letter-spacing: var(--bdh-button-editorial-letter-spacing, var(--bdh-button-letter-spacing));
}

.bdh-button--preset-minimal {
	box-shadow: none;
}

.bdh-button--preset-adventure {
	border-radius: var(--bdh-button-adventure-radius, var(--bdh-button-radius));
}

.bdh-button--preset-compact {
	padding: var(--bdh-button-compact-padding, 0.55em 0.85em);
}

.bdh-button--motion-lift:hover,
.bdh-button--motion-lift:focus-visible {
	transform: translateY(calc(var(--bdh-button-motion-distance) * -1));
}

.bdh-button--motion-shift:hover,
.bdh-button--motion-shift:focus-visible {
	transform: translateX(var(--bdh-button-motion-distance));
}

.bdh-button:focus-visible {
	outline: var(--bdh-button-focus-outline, var(--bdh-token-focus-outline));
	outline-offset: var(--bdh-button-focus-outline-offset, var(--bdh-token-focus-offset));
}

@media (prefers-reduced-motion: reduce) {
	.bdh-button {
		transition-duration: 0s !important;
	}

	.bdh-button:hover,
	.bdh-button:focus-visible {
		transform: none !important;
	}
}
