.tkf-chat {
	--tkf-popup-pad: 12px;
	--tkf-popup-gap: 10px;
	--tkf-link-size: 48px;
	--tkf-link-img: 30px;
	--tkf-btn-icon: 44px;
	--tkf-icon-bg: #ffffff;
	--tkf-label-bg: #ffffff;
	--tkf-label-color: #333333;
	--tkf-label-brd: #e53935;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	position: relative;
	z-index: 9999;
	font-family: "Yekan Bakh", Tahoma, sans-serif;
}

.tkf-chat-btn {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	cursor: pointer;
	user-select: none;
	gap: 4px;
}

.tkf-chat-btn img {
	width: var(--tkf-btn-icon) !important;
	height: var(--tkf-btn-icon) !important;
	max-width: var(--tkf-btn-icon) !important;
	max-height: var(--tkf-btn-icon) !important;
	background: var(--tkf-icon-bg);
	border-radius: 14px !important;
	padding: 6px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
	object-fit: contain;
	display: block !important;
	box-sizing: border-box;
}

.tkf-chat-btn span {
	font-size: 10px;
	color: var(--tkf-label-color);
	background: var(--tkf-label-bg);
	border: 1.5px solid var(--tkf-label-brd);
	border-radius: 5px;
	padding: 2px 8px;
	white-space: nowrap;
	line-height: 1.4;
	display: block !important;
	font-family: inherit;
}

.tkf-chat-popup {
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(18px);
	display: flex !important;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--tkf-popup-gap);
	background: #fff;
	padding: var(--tkf-popup-pad);
	border-radius: 12px;
	margin-bottom: 8px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s;
	width: max-content;
	max-width: min(100vw - 24px, calc(var(--tkf-link-size) + 2 * var(--tkf-popup-pad) + 8px));
}

.tkf-chat.tkf-open .tkf-chat-popup {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

.tkf-chat-link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: var(--tkf-link-size);
	height: var(--tkf-link-size);
	min-width: var(--tkf-link-size);
	min-height: var(--tkf-link-size);
	border-radius: 12px;
	background: #f0f2f5;
	padding: 0;
	box-sizing: border-box;
	transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}

.tkf-chat-link:hover {
	transform: scale(1.06);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	background: #e8ecf0;
}

.tkf-chat-link img {
	width: var(--tkf-link-img) !important;
	height: var(--tkf-link-img) !important;
	max-width: calc(100% - 8px) !important;
	max-height: calc(100% - 8px) !important;
	object-fit: contain !important;
	object-position: center;
	border-radius: 6px;
	display: block !important;
	margin: 0 auto;
}

[dir="rtl"] .tkf-chat-popup,
.rtl .tkf-chat-popup {
	left: auto;
	right: 50%;
	transform: translateX(50%) translateY(18px);
}

[dir="rtl"] .tkf-chat.tkf-open .tkf-chat-popup,
.rtl .tkf-chat.tkf-open .tkf-chat-popup {
	transform: translateX(50%) translateY(0);
}

@media (max-width: 768px) {
	.tkf-chat {
		--tkf-popup-pad: 8px;
		--tkf-popup-gap: 8px;
		--tkf-link-size: 42px;
		--tkf-link-img: 26px;
		--tkf-btn-icon: 38px;
	}

	.tkf-chat-btn img {
		padding: 5px;
		border-radius: 12px !important;
	}

	.tkf-chat-btn span {
		font-size: 8px;
		padding: 1px 5px;
	}

	.tkf-chat-popup {
		margin-bottom: 6px;
		max-width: min(100vw - 16px, calc(var(--tkf-link-size) + 2 * var(--tkf-popup-pad) + 8px));
	}

	.tkf-chat-link {
		border-radius: 10px;
	}
}
