.jfci-icons {
	--jfci-gap: 12px;
	--jfci-offset-x: 24px;
	--jfci-offset-y: 24px;
	--jfci-z-index: 9999;
	--jfci-font-family: inherit;
	display: flex;
	gap: var(--jfci-gap);
	font-family: var(--jfci-font-family);
	pointer-events: none;
}

.jfci-inline {
	position: relative;
	z-index: 1;
	justify-content: flex-start;
	align-items: flex-start;
	pointer-events: auto;
}

.jfci-fixed {
	position: fixed;
	z-index: var(--jfci-z-index);
	pointer-events: none;
}

.jfci-layout-column {
	flex-direction: column;
}

.jfci-layout-row {
	flex-direction: row;
	flex-wrap: wrap;
}

.jfci-pos-bottom-right {
	right: var(--jfci-offset-x);
	bottom: var(--jfci-offset-y);
	align-items: flex-end;
}

.jfci-pos-bottom-left {
	left: var(--jfci-offset-x);
	bottom: var(--jfci-offset-y);
	align-items: flex-start;
}

.jfci-pos-top-right {
	right: var(--jfci-offset-x);
	top: var(--jfci-offset-y);
	align-items: flex-end;
}

.jfci-pos-top-left {
	left: var(--jfci-offset-x);
	top: var(--jfci-offset-y);
	align-items: flex-start;
}

.jfci-button {
	--jfci-bg: #25d366;
	--jfci-color: #fff;
	--jfci-icon-color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 54px;
	min-height: 54px;
	padding: 14px 18px;
	border-radius: 999px;
	background: var(--jfci-bg);
	color: var(--jfci-color) !important;
	text-decoration: none !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
	transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
	pointer-events: auto;
	will-change: transform;
}

.jfci-button:hover,
.jfci-button:focus-visible {
	color: var(--jfci-color) !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
	filter: brightness(1.04);
}

.jfci-button:focus-visible {
	outline: 3px solid rgba(37, 211, 102, 0.35);
	outline-offset: 4px;
}

.jfci-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: var(--jfci-icon-color);
	flex: 0 0 auto;
}

.jfci-button__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.jfci-button__label {
	white-space: nowrap;
}

@media (max-width: 480px) {
	.jfci-icons {
		--jfci-offset-x: max(14px, env(safe-area-inset-left));
		--jfci-offset-y: max(14px, env(safe-area-inset-bottom));
	}

	.jfci-button {
		min-width: 50px;
		min-height: 50px;
		padding: 13px 15px;
		font-size: 14px;
	}

	.jfci-button__icon {
		width: 22px;
		height: 22px;
	}
}
