/* ─────────────────────────────────────────────────────────────────────────
   Floating CTA — the Telegram / WhatsApp / tournament buttons that
   bitfa_floating_cta() prints on wp_footer on EVERY page.

   These rules used to live only in fund/css/main.css (base + tg/wa) and
   fund/css/tournament-io.css (the --tt pill), both gated behind
   bitfa_is_fund_page(). On every non-fund page the markup rendered bare:
   the gift SVG exploded to full page width under the footer and the
   telegram/whatsapp icons shrank to naked 20px glyphs. A component that
   prints site-wide has to ship its styles site-wide — this file is that,
   enqueued unconditionally next to the markup. The copies left in the two
   fund bundles are identical, so double-loading changes nothing.
   ───────────────────────────────────────────────────────────────────────── */

.floating-cta {
	position: fixed;
	inset-block-end: 22px;
	inset-inline-start: 22px;
	z-index: 90;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.floating-cta__btn {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #fff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .25);
	transition: .2s;
}

.floating-cta__btn:hover {
	transform: scale(1.08);
}

/* Icons are inline SVGs; the svl gift icon carries no width/height
   attributes, so without this cap it fills the container. */
.floating-cta__btn svg {
	width: 20px;
	height: 20px;
}

.floating-cta__btn--tg { background: #229ED9; }
.floating-cta__btn--wa { background: #25D366; }

/* ── دکمه‌ی تورنومنت — برچسب فقط با هاور باز می‌شود ── */

.floating-cta__btn--tt {
	position: relative;
	width: auto;
	min-width: 52px;
	height: 52px;
	padding: 0 15px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 0;
	background: linear-gradient(135deg, var(--primary, #f7a01d), #ff8f1f);
	color: #fff;
	font-weight: 800;
	font-size: 13.5px;
	white-space: nowrap;
}

.floating-cta__btn--tt svg {
	width: 22px;
	height: 22px;
	flex: none;
}

.floating-cta__btn--tt span {
	max-width: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-width .28s ease, opacity .2s ease, margin .28s ease;
}

.floating-cta__btn--tt:hover span,
.floating-cta__btn--tt:focus-visible span {
	max-width: 160px;
	opacity: 1;
	margin-inline-start: 9px;
}

.floating-cta__btn--tt::after {
	content: '';
	position: absolute;
	inset-block-start: 3px;
	inset-inline-end: 3px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #22c55e;
	border: 2px solid #1a1d21;
	animation: tt-pulse 2s infinite;
}

@keyframes tt-pulse {
	70%  { box-shadow: 0 0 0 9px rgba(247, 160, 29, 0); }
	100% { box-shadow: 0 0 0 0 rgba(247, 160, 29, 0); }
}

@media (prefers-reduced-motion: reduce) {
	.floating-cta__btn--tt::after { animation: none; }
}

@media (max-width: 560px) {
	.floating-cta__btn--tt {
		width: 52px;
		min-width: 52px;
		padding: 0;
		justify-content: center;
	}

	.floating-cta__btn--tt span { display: none; }
}
