.fcb-wrap {
	position: fixed;
	bottom: var(--fcb-bottom, 20px);
	z-index: var(--fcb-z, 9999);
	display: flex;
	gap: var(--fcb-gap, 12px);
	margin: 0;
	padding: 0;
	transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}
.fcb-pos-right { right: var(--fcb-side, 20px); left: auto; }
.fcb-pos-left { left: var(--fcb-side, 20px); right: auto; }
.fcb-layout-vertical { flex-direction: column; }
.fcb-layout-horizontal { flex-direction: row; }
.fcb-pos-right.fcb-layout-vertical { align-items: flex-end; }
.fcb-pos-left.fcb-layout-vertical { align-items: flex-start; }
.fcb-layout-horizontal { align-items: center; }

.fcb-wrap.fcb-hidden {
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
}

.fcb-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-width: var(--fcb-size, 56px);
	height: var(--fcb-size, 56px);
	padding: 0;
	background: var(--fcb-bg, #25D366);
	color: var(--fcb-fg, #fff) !important;
	text-decoration: none !important;
	border: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: transform .2s ease, filter .2s ease;
}
.fcb-btn:hover,
.fcb-btn:focus {
	transform: scale(1.08);
	filter: brightness(1.08);
	color: var(--fcb-fg, #fff) !important;
	text-decoration: none !important;
}
.fcb-btn svg {
	width: calc(var(--fcb-size, 56px) * .5);
	height: calc(var(--fcb-size, 56px) * .5);
	fill: currentColor;
	flex: none;
	display: block;
}

/* الأشكال */
.fcb-shape-circle .fcb-btn { border-radius: 50%; }
.fcb-shape-rounded .fcb-btn { border-radius: calc(var(--fcb-size, 56px) * .28); }
.fcb-shape-square .fcb-btn { border-radius: 4px; }
.fcb-shape-pill .fcb-btn { border-radius: 999px; }

/* النص */
.fcb-labels-none .fcb-label { display: none; }

.fcb-labels-hover .fcb-label {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: #222;
	color: #fff;
	padding: 6px 10px;
	border-radius: 6px;
	font-size: 13px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
}
.fcb-labels-hover.fcb-pos-right .fcb-label { right: calc(100% + 10px); }
.fcb-labels-hover.fcb-pos-left .fcb-label { left: calc(100% + 10px); }
.fcb-labels-hover .fcb-btn:hover .fcb-label,
.fcb-labels-hover .fcb-btn:focus .fcb-label { opacity: 1; }

.fcb-labels-always .fcb-btn { padding: 0 calc(var(--fcb-size, 56px) * .38); }
.fcb-labels-always.fcb-shape-circle .fcb-btn { border-radius: 999px; }
.fcb-labels-always .fcb-label {
	position: static;
	background: none;
	color: inherit;
	padding: 0;
	opacity: 1;
	transform: none;
	white-space: nowrap;
}

/* الظل */
.fcb-shadow .fcb-btn { box-shadow: 0 4px 14px rgba(0, 0, 0, .25); }

/* الحركات */
.fcb-anim-pulse .fcb-btn::after {
	content: "";
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	border-radius: inherit;
	pointer-events: none;
	box-shadow: 0 0 0 0 var(--fcb-bg, #25D366);
	animation: fcb-pulse 2s infinite;
}
.fcb-anim-bounce .fcb-btn svg { animation: fcb-bounce 2s infinite; }
.fcb-anim-shake .fcb-btn svg { animation: fcb-shake 2.5s infinite; }

@keyframes fcb-pulse {
	0% { box-shadow: 0 0 0 0 var(--fcb-bg, #25D366); opacity: .7; }
	70% { box-shadow: 0 0 0 16px rgba(0, 0, 0, 0); opacity: 0; }
	100% { box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); opacity: 0; }
}
@keyframes fcb-bounce {
	0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
	40% { transform: translateY(-7px); }
	60% { transform: translateY(-3px); }
}
@keyframes fcb-shake {
	0%, 50%, 100% { transform: rotate(0); }
	10%, 30% { transform: rotate(-14deg); }
	20%, 40% { transform: rotate(14deg); }
}

/* الأجهزة */
@media (min-width: 769px) {
	.fcb-device-mobile { display: none; }
}
@media (max-width: 768px) {
	.fcb-device-desktop { display: none; }
}

/* معاينة لوحة التحكم */
.fcb-wrap.fcb-preview {
	position: static;
	display: inline-flex;
}

@media (prefers-reduced-motion: reduce) {
	.fcb-btn, .fcb-btn svg, .fcb-btn::after { animation: none !important; transition: none !important; }
}
@media print {
	.fcb-wrap { display: none !important; }
}