/* =========================================================
   LONDON BIOLAB - FLOATING SIGNAL BUTTON
   ========================================================= */

.lbl-signal-floating {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 99990;

	display: inline-flex;
	align-items: center;
	gap: 10px;

	min-height: 56px;
	padding: 7px 18px 7px 7px;

	box-sizing: border-box;
	border-radius: 999px;

	background: #3a76f0;
	color: #ffffff;

	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;

	box-shadow:
		0 8px 24px rgba(0, 0, 0, 0.16),
		0 2px 8px rgba(0, 0, 0, 0.10);

	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease;
}

.lbl-signal-floating:hover,
.lbl-signal-floating:focus-visible {
	color: #ffffff;
	text-decoration: none;
	transform: translateY(-3px);
	background: #2f68dc;
	box-shadow:
		0 12px 30px rgba(0, 0, 0, 0.20),
		0 4px 12px rgba(0, 0, 0, 0.12);
}

.lbl-signal-floating:focus-visible {
	outline: 3px solid rgba(58, 118, 240, 0.30);
	outline-offset: 4px;
}

.lbl-signal-floating__icon {
	width: 42px;
	height: 42px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 42px;

	border-radius: 50%;
	background: #ffffff;

	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
}

.lbl-signal-floating__icon svg {
	width: 25px;
	height: 25px;
	display: block;
}

.lbl-signal-floating__icon svg path:first-child {
	fill: #3a76f0;
}

.lbl-signal-floating__icon svg path:last-child {
	fill: #ffffff;
}

.lbl-signal-floating__text {
	white-space: nowrap;
}

@media (max-width: 767px) {
	.lbl-signal-floating {
		right: 16px;
		bottom: 16px;

		width: 52px;
		height: 52px;
		min-height: 52px;

		padding: 5px;

		justify-content: center;
		gap: 0;

		border-radius: 50%;
	}

	.lbl-signal-floating__icon {
		width: 42px;
		height: 42px;
		flex-basis: 42px;
	}

	.lbl-signal-floating__text {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}

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

/* Signal floating button — mobile icon refinement */
@media (max-width: 767px) {
    .lbl-signal-floating__icon {
        width: 28px;
        height: 28px;
        transform: translateY(-3px);
    }

    .lbl-signal-floating__icon svg {
        width: 28px;
        height: 28px;
    }
}

/* Signal official logo — remove inner white icon layer */
.lbl-signal-floating__icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.lbl-signal-floating__icon img {
    display: block;
    width: 30px;
    height: 30px;
    object-fit: contain;
}

@media (max-width: 767px) {
    .lbl-signal-floating__icon {
        width: 30px;
        height: 30px;
        transform: translateY(-3px);
    }

    .lbl-signal-floating__icon img {
        width: 30px;
        height: 30px;
    }
}

/* Signal floating button — mobile position */
@media (max-width: 767px) {
    .lbl-signal-floating {
        bottom: 54px !important;
    }
}
