.homvnd-floating-actions {
	position: fixed;
	inset-inline-end: max(var(--homvnd-space-4), env(safe-area-inset-right, 0px));
	inset-block-end: max(var(--homvnd-space-4), env(safe-area-inset-bottom, 0px));
	display: flex;
	max-inline-size: calc(100% - (2 * var(--homvnd-gutter)));
	align-items: center;
	gap: var(--homvnd-space-2);
}

.homvnd-floating-action {
	display: inline-flex;
	min-inline-size: var(--homvnd-target-min);
	min-block-size: var(--homvnd-target-min);
	align-items: center;
	justify-content: center;
	gap: var(--homvnd-space-2);
	padding: var(--homvnd-space-2) var(--homvnd-space-3);
	border: var(--homvnd-border-width) solid transparent;
	border-radius: var(--homvnd-radius-pill);
	font: inherit;
	font-weight: var(--homvnd-font-weight-semibold);
	line-height: var(--homvnd-line-height-sm);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.homvnd-floating-action__icon {
	flex: none;
	inline-size: var(--homvnd-space-6);
	block-size: var(--homvnd-space-6);
}

.homvnd-floating-action--inquiry,
.homvnd-floating-action--inquiry:visited {
	color: var(--homvnd-color-surface);
	background: var(--homvnd-color-accent);
}

.homvnd-floating-action--inquiry:hover,
.homvnd-floating-action--inquiry:active {
	color: var(--homvnd-color-surface);
	background: var(--homvnd-color-accent-strong);
}

.homvnd-floating-action--back-to-top {
	border-color: var(--homvnd-color-primary);
	color: var(--homvnd-color-primary);
	background: var(--homvnd-color-surface);
}

.homvnd-floating-action--back-to-top:hover,
.homvnd-floating-action--back-to-top:active {
	color: var(--homvnd-color-surface);
	background: var(--homvnd-color-primary-strong);
}

.homvnd-floating-action:focus-visible {
	outline: var(--homvnd-focus-width) solid var(--homvnd-color-focus);
	outline-offset: var(--homvnd-focus-offset);
	box-shadow: 0 0 0 var(--homvnd-focus-offset) var(--homvnd-color-surface);
}

.homvnd-floating-action--back-to-top[hidden] {
	display: none;
}

body.homvnd-menu-open .homvnd-floating-actions {
	visibility: hidden;
	pointer-events: none;
}

@media (min-width: 64rem) {
	.homvnd-floating-actions {
		inset-inline-end: max(var(--homvnd-space-6), env(safe-area-inset-right, 0px));
		inset-block-end: max(var(--homvnd-space-24), env(safe-area-inset-bottom, 0px));
		flex-direction: column;
		align-items: stretch;
	}
}

@media print {
	.homvnd-floating-actions {
		display: none;
	}
}
