.atfa-floating-actions {
	position: fixed;
	top: 56%;
	right: 0;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transform: translateY(-50%);
	pointer-events: none;
}

.atfa-floating-action {
	--atfa-visible-width: 46px;
	display: inline-flex;
	align-items: center;
	width: 132px;
	min-height: 46px;
	overflow: hidden;
	color: #fff;
	background: #780080;
	border-radius: 999px 0 0 999px;
	box-shadow: 0 10px 24px rgba(44, 0, 48, .24);
	text-decoration: none;
	transform: translateX(calc(100% - var(--atfa-visible-width)));
	transition: transform 300ms cubic-bezier(.2, .8, .2, 1), box-shadow 300ms ease, background-color 300ms ease;
	pointer-events: auto;
	will-change: transform;
}

.atfa-floating-action:hover,
.atfa-floating-action:focus-visible {
	color: #fff;
	background: #8a0793;
	box-shadow: 0 14px 28px rgba(44, 0, 48, .32);
	text-decoration: none;
	transform: translateX(0);
}

.atfa-floating-action__icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 999px 0 0 999px;
	background: rgba(255, 255, 255, .96);
	color: #780080;
}

.atfa-floating-action__icon {
	display: block;
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.atfa-floating-action__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	padding: 0 16px 0 10px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.atfa-floating-actions {
		top: auto;
		right: 10px;
		bottom: max(82px, env(safe-area-inset-bottom));
		gap: 9px;
		transform: none;
	}

	.atfa-floating-action {
		width: 44px;
		min-height: 44px;
		border-radius: 999px;
		transform: none;
		box-shadow: 0 8px 20px rgba(44, 0, 48, .26);
	}

	.atfa-floating-action__icon-wrap {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		border-radius: 999px;
	}

	.atfa-floating-action__label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}
}

@media (min-width: 768px) and (max-width: 1024px), (hover: none) and (pointer: coarse) {
	.atfa-floating-action {
		transform: none;
	}

	.atfa-floating-action__label {
		padding-right: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.atfa-floating-action {
		transition: none;
	}
}
