.ilt-fab {
	--ilt-ink: #0f1f1a;
	--ilt-wa: #1faa59;
	--ilt-wa-deep: #128c45;
	--ilt-tg: #2a9fd8;
	--ilt-tg-deep: #1c7eaf;
	--ilt-panel: #f7faf8;
	--ilt-shadow: 0 14px 40px rgba(15, 31, 26, 0.22);
	position: fixed;
	right: max(1rem, env(safe-area-inset-right));
	bottom: max(1rem, env(safe-area-inset-bottom));
	z-index: 99999;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.75rem;
	font-family: "Manrope", "Segoe UI", sans-serif;
	box-sizing: border-box;
	line-height: 1;
}

.ilt-fab *,
.ilt-fab *::before,
.ilt-fab *::after {
	box-sizing: border-box;
}

.ilt-fab svg {
	display: block;
	flex-shrink: 0;
	overflow: visible;
}

.ilt-fab__toggle {
	position: relative;
	width: 3.5rem;
	height: 3.5rem;
	padding: 0 !important;
	margin: 0;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(160deg, var(--ilt-wa) 0%, var(--ilt-wa-deep) 100%);
	color: #fff;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	line-height: 0;
	font-size: 0;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: var(--ilt-shadow);
	transition: transform 0.2s ease, filter 0.2s ease;
}

.ilt-fab__toggle:hover {
	transform: translateY(-2px) scale(1.03);
	filter: brightness(1.05);
}

.ilt-fab__toggle:focus-visible {
	outline: 3px solid rgba(31, 170, 89, 0.45);
	outline-offset: 3px;
}

.ilt-fab__toggle-open,
.ilt-fab__toggle-close {
	position: absolute;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	line-height: 0;
}

.ilt-fab__toggle-open {
	display: flex;
}

.ilt-fab.is-open .ilt-fab__toggle-open {
	display: none;
}

.ilt-fab.is-open .ilt-fab__toggle-close {
	display: flex;
}

.ilt-fab.is-open .ilt-fab__toggle {
	background: linear-gradient(160deg, #2d3b36 0%, #14201a 100%);
}

.ilt-fab__toggle svg {
	width: 1.45rem;
	height: 1.45rem;
	margin: 0;
}

.ilt-fab__panel {
	width: min(18.5rem, calc(100vw - 2rem));
	background: var(--ilt-panel);
	border: 1px solid rgba(15, 31, 26, 0.08);
	border-radius: 1.1rem;
	padding: 0.55rem;
	box-shadow: var(--ilt-shadow);
	transform-origin: bottom right;
	animation: ilt-pop 0.22s ease;
}

.ilt-fab__panel[hidden] {
	display: none !important;
}

.ilt-fab__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.4rem;
}

.ilt-fab__list > li {
	margin: 0;
	padding: 0;
}

.ilt-fab__item {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	min-height: 3.1rem;
	padding: 0.55rem 0.8rem;
	border-radius: 0.85rem;
	text-decoration: none !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 0.92rem;
	line-height: 1.25;
	transition: transform 0.18s ease, filter 0.18s ease;
}

.ilt-fab__item:hover,
.ilt-fab__item:focus {
	transform: translateX(-2px);
	filter: brightness(1.05);
	color: #fff !important;
	text-decoration: none !important;
}

.ilt-fab__item--whatsapp,
.ilt-fab__item--whatsapp-channel {
	background: linear-gradient(135deg, var(--ilt-wa), var(--ilt-wa-deep));
}

.ilt-fab__item--telegram {
	background: linear-gradient(135deg, var(--ilt-tg), var(--ilt-tg-deep));
}

.ilt-fab__icon {
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 2.1rem;
	line-height: 0;
}

.ilt-fab__icon svg {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
}

.ilt-fab__label {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}

@keyframes ilt-pop {
	from {
		opacity: 0;
		transform: translateY(8px) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (max-width: 480px) {
	.ilt-fab {
		right: 0.75rem;
		bottom: 0.75rem;
	}

	.ilt-fab__toggle {
		width: 3.25rem;
		height: 3.25rem;
	}

	.ilt-fab__item {
		font-size: 0.88rem;
	}
}
