.rs-fcb-wrap {
	position: fixed;
	z-index: var(--rs-fcb-z, 9999);
	box-sizing: border-box;
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms ease;
}

.rs-fcb-wrap.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.rs-fcb-pos-inline {
	position: relative;
	inset: auto;
	display: inline-flex;
	z-index: auto;
}

.rs-fcb-pos-inline[data-ready="0"] {
	opacity: 1;
	pointer-events: auto;
}

.rs-fcb-pos-bottom-right {
	right: var(--rs-fcb-side, 24px);
	bottom: var(--rs-fcb-bottom, 24px);
}

.rs-fcb-pos-bottom-left {
	left: var(--rs-fcb-side, 24px);
	bottom: var(--rs-fcb-bottom, 24px);
}

.rs-fcb-pos-bottom-center {
	left: 50%;
	bottom: var(--rs-fcb-bottom, 24px);
	translate: -50% 0;
}

.rs-fcb-pos-middle-right {
	right: var(--rs-fcb-side, 24px);
	top: 50%;
	translate: 0 -50%;
}

.rs-fcb-pos-middle-left {
	left: var(--rs-fcb-side, 24px);
	top: 50%;
	translate: 0 -50%;
}

.rs-fcb-pos-custom {
	right: var(--rs-fcb-side, 24px);
	bottom: var(--rs-fcb-bottom, 24px);
}

.rs-fcb {
	--rs-fcb-bg: rgba(255, 255, 255, 0.94);
	--rs-fcb-bg-hover: #ffffff;
	--rs-fcb-border: rgba(15, 23, 42, 0.12);
	--rs-fcb-title: #071225;
	--rs-fcb-subtitle: #59677a;
	--rs-fcb-icon: #0f5bff;
	--rs-fcb-icon-bg: rgba(15, 91, 255, 0.1);
	--rs-fcb-glow: rgba(15, 91, 255, 0.28);
	--rs-fcb-hover-ring: rgba(15, 91, 255, 0.08);
	--rs-fcb-hover-scale: 1.025;
	--rs-fcb-hover-y: -2px;
	display: inline-flex;
	align-items: center;
	gap: calc(12px * var(--rs-fcb-scale, 1));
	width: auto;
	max-width: calc(100vw - 28px);
	min-height: calc(58px * var(--rs-fcb-scale, 1));
	padding:
		calc(9px * var(--rs-fcb-scale, 1))
		calc(12px * var(--rs-fcb-scale, 1))
		calc(9px * var(--rs-fcb-scale, 1))
		calc(9px * var(--rs-fcb-scale, 1));
	border: 1px solid var(--rs-fcb-border);
	border-radius: 999px;
	background: var(--rs-fcb-bg);
	color: var(--rs-fcb-title);
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16), 0 2px 8px rgba(15, 23, 42, 0.08);
	backdrop-filter: blur(var(--rs-fcb-blur, 10px));
	-webkit-backdrop-filter: blur(var(--rs-fcb-blur, 10px));
	text-decoration: none;
	transform: translate3d(0, 0, 0);
	transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
	will-change: transform;
}

.rs-fcb:hover,
.rs-fcb:focus-visible {
	background: var(--rs-fcb-bg-hover);
	box-shadow: var(--rs-fcb-hover-shadow, 0 22px 54px rgba(15, 23, 42, 0.2), 0 0 0 5px var(--rs-fcb-hover-ring));
	transform: translate3d(0, var(--rs-fcb-hover-y, -2px), 0) scale(var(--rs-fcb-hover-scale, 1.025));
	text-decoration: none;
}

.rs-fcb:focus-visible,
.rs-fcb__close:focus-visible {
	outline: 3px solid rgba(15, 91, 255, 0.42);
	outline-offset: 4px;
}

.rs-fcb__image {
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	width: var(--rs-fcb-image-size, calc(42px * var(--rs-fcb-scale, 1)));
	height: var(--rs-fcb-image-size, calc(42px * var(--rs-fcb-scale, 1)));
	overflow: hidden;
	border: var(--rs-fcb-image-border-width, 0) solid var(--rs-fcb-image-border, transparent);
	border-radius: 50%;
	background: linear-gradient(135deg, #eaf1ff, #ffffff);
	box-shadow: var(--rs-fcb-image-shadow, 0 6px 18px rgba(15, 23, 42, 0.12));
}

.rs-fcb__image img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	object-position: var(--rs-fcb-image-position, center center);
}

.rs-fcb__image-placeholder {
	display: inline-grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: #0f5bff;
	font-size: calc(12px * var(--rs-fcb-scale, 1));
	font-weight: 900;
	letter-spacing: -0.03em;
}

.rs-fcb__text {
	display: grid;
	gap: calc(2px * var(--rs-fcb-scale, 1));
	min-width: 0;
	line-height: 1.08;
	text-align: left;
}

.rs-fcb__title {
	display: block;
	color: var(--rs-fcb-title);
	font-family: var(--rs-fcb-title-font, inherit);
	font-size: calc(var(--rs-fcb-title-size, 15px) * var(--rs-fcb-scale, 1));
	font-weight: 900;
	line-height: 1.08;
	white-space: nowrap;
}

.rs-fcb__subtitle {
	display: block;
	color: var(--rs-fcb-subtitle);
	font-family: var(--rs-fcb-subtitle-font, inherit);
	font-size: calc(var(--rs-fcb-subtitle-size, 12px) * var(--rs-fcb-scale, 1));
	font-weight: 700;
	line-height: 1.18;
	white-space: nowrap;
}

.rs-fcb__icon {
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	width: var(--rs-fcb-icon-box, calc(32px * var(--rs-fcb-scale, 1)));
	height: var(--rs-fcb-icon-box, calc(32px * var(--rs-fcb-scale, 1)));
	margin-left: var(--rs-fcb-icon-spacing, calc(2px * var(--rs-fcb-scale, 1)));
	border: var(--rs-fcb-icon-border-width, 0) solid var(--rs-fcb-icon-border, transparent);
	border-radius: 999px;
	background: var(--rs-fcb-icon-bg);
	color: var(--rs-fcb-icon);
	rotate: var(--rs-fcb-icon-rotation, 0deg);
	transition: transform 180ms ease, background 180ms ease;
}

.rs-fcb:hover .rs-fcb__icon,
.rs-fcb:focus-visible .rs-fcb__icon {
	transform: translate3d(1px, -1px, 0) scale(1.04);
}

.rs-fcb__icon svg {
	display: block;
	width: var(--rs-fcb-icon-size, calc(17px * var(--rs-fcb-scale, 1)));
	height: var(--rs-fcb-icon-size, calc(17px * var(--rs-fcb-scale, 1)));
	fill: currentColor;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.rs-fcb__icon svg path,
.rs-fcb__icon svg line,
.rs-fcb__icon svg polyline,
.rs-fcb__icon svg circle,
.rs-fcb__icon svg rect {
	vector-effect: non-scaling-stroke;
}

.rs-fcb__close {
	position: absolute;
	top: -8px;
	right: -8px;
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border: 1px solid rgba(15, 23, 42, 0.12);
	border-radius: 50%;
	background: #ffffff;
	color: #314057;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.rs-fcb-wrap.is-dismissed {
	display: none;
}

.rs-fcb-anim-pulse.is-visible .rs-fcb {
	animation: rs-fcb-pulse var(--rs-fcb-pulse-interval, 2600ms) ease-in-out infinite;
}

.rs-fcb-anim-floating.is-visible .rs-fcb {
	animation: rs-fcb-floating var(--rs-fcb-duration, 2400ms) ease-in-out infinite;
}

.rs-fcb-anim-bounce.is-visible .rs-fcb {
	animation: rs-fcb-bounce var(--rs-fcb-duration, 2400ms) ease-in-out infinite;
}

.rs-fcb-anim-wiggle.is-visible .rs-fcb {
	animation: rs-fcb-wiggle var(--rs-fcb-duration, 2400ms) ease-in-out infinite;
}

.rs-fcb-anim-glow.is-visible .rs-fcb {
	animation: rs-fcb-glow var(--rs-fcb-duration, 2400ms) ease-in-out infinite;
}

.rs-fcb-anim-slide-in.is-visible .rs-fcb {
	animation: rs-fcb-slide-in 520ms cubic-bezier(.2,.85,.2,1) both;
}

@keyframes rs-fcb-pulse {
	0%, 100% { box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16), 0 0 0 0 var(--rs-fcb-glow); }
	50% { box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16), 0 0 0 10px rgba(15, 91, 255, 0); }
}

@keyframes rs-fcb-floating {
	0%, 100% { transform: translate3d(0, 0, 0); }
	50% { transform: translate3d(0, calc(var(--rs-fcb-intensity, 8px) * -1), 0); }
}

@keyframes rs-fcb-bounce {
	0%, 100% { transform: translate3d(0, 0, 0); }
	45% { transform: translate3d(0, calc(var(--rs-fcb-intensity, 8px) * -1.15), 0); }
	62% { transform: translate3d(0, calc(var(--rs-fcb-intensity, 8px) * .32), 0); }
}

@keyframes rs-fcb-wiggle {
	0%, 100% { transform: rotate(0deg); }
	25% { transform: rotate(-1.6deg); }
	50% { transform: rotate(1.2deg); }
	75% { transform: rotate(-.7deg); }
}

@keyframes rs-fcb-glow {
	0%, 100% { box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16), 0 0 0 0 rgba(15, 91, 255, 0); }
	50% { box-shadow: 0 20px 52px rgba(15, 23, 42, 0.18), 0 0 34px var(--rs-fcb-glow); }
}

@keyframes rs-fcb-slide-in {
	from { opacity: 0; transform: translate3d(18px, 16px, 0) scale(.98); }
	to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@media (max-width: 1024px) and (min-width: 768px) {
	.rs-fcb-hide-tablet {
		display: none !important;
	}

	.rs-fcb-pos-bottom-right,
	.rs-fcb-pos-middle-right,
	.rs-fcb-pos-custom {
		right: var(--rs-fcb-tablet-side, var(--rs-fcb-side, 24px));
		left: auto;
		bottom: var(--rs-fcb-tablet-bottom, var(--rs-fcb-bottom, 24px));
		top: auto;
		translate: 0 0;
	}

	.rs-fcb-pos-bottom-left,
	.rs-fcb-pos-middle-left {
		left: var(--rs-fcb-tablet-side, var(--rs-fcb-side, 24px));
		right: auto;
		bottom: var(--rs-fcb-tablet-bottom, var(--rs-fcb-bottom, 24px));
		top: auto;
		translate: 0 0;
	}

	.rs-fcb-pos-bottom-center {
		left: 50%;
		right: auto;
		bottom: var(--rs-fcb-tablet-bottom, var(--rs-fcb-bottom, 24px));
		translate: -50% 0;
	}
}

@media (min-width: 1025px) {
	.rs-fcb-hide-desktop {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.rs-fcb-hide-mobile {
		display: none !important;
	}

	.rs-fcb-pos-bottom-right,
	.rs-fcb-pos-middle-right,
	.rs-fcb-pos-custom {
		right: var(--rs-fcb-mobile-side, 14px);
		left: auto;
		bottom: var(--rs-fcb-mobile-bottom, 18px);
		top: auto;
		translate: 0 0;
	}

	.rs-fcb-pos-bottom-left,
	.rs-fcb-pos-middle-left {
		left: var(--rs-fcb-mobile-side, 14px);
		right: auto;
		bottom: var(--rs-fcb-mobile-bottom, 18px);
		top: auto;
		translate: 0 0;
	}

	.rs-fcb-pos-bottom-center {
		left: 50%;
		right: auto;
		bottom: var(--rs-fcb-mobile-bottom, 18px);
		translate: -50% 0;
	}

	.rs-fcb {
		max-width: calc(100vw - (var(--rs-fcb-mobile-side, 14px) * 2));
		width: var(--rs-fcb-mobile-width, auto);
		--rs-fcb-image-size: var(--rs-fcb-mobile-image-size, calc(42px * var(--rs-fcb-scale, 1)));
	}

	.rs-fcb-mobile-hide-text .rs-fcb__text,
	.rs-fcb-mobile-hide-icon .rs-fcb__icon {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rs-fcb-wrap,
	.rs-fcb,
	.rs-fcb__icon {
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
}
