.yiwan-floating-contact {
	--yfc-red: #c8392b;
	--yfc-red-dark: #a92f25;
	--yfc-ink: #252525;
	--yfc-size: 58px;
	position: fixed;
	right: max(24px, env(safe-area-inset-right));
	bottom: calc(24px + env(safe-area-inset-bottom));
	z-index: 990;
	font-family: inherit;
	line-height: 1;
}

.yiwan-floating-contact > summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--yfc-size);
	height: var(--yfc-size);
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--yfc-red);
	color: #fff;
	box-shadow: 0 4px 18px #00000026;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.yiwan-floating-contact > summary::-webkit-details-marker {
	display: none;
}

.yiwan-floating-contact > summary:hover {
	background: var(--yfc-red-dark);
}

.yiwan-floating-contact svg {
	display: block;
	width: 25px;
	height: 25px;
	flex: none;
}

.yiwan-floating-contact .yfc-close,
.yiwan-floating-contact[open] .yfc-chat,
.yiwan-floating-contact:not([open]) > nav {
	display: none;
}

.yiwan-floating-contact[open] .yfc-close {
	display: block;
}

.yiwan-floating-contact > nav {
	position: absolute;
	bottom: calc(var(--yfc-size) + 14px);
	right: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: max-content;
}

.yiwan-floating-contact > nav a {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	padding: 0;
	color: var(--yfc-ink);
	text-decoration: none;
	border-radius: 28px;
}

.yiwan-floating-contact .yfc-label {
	padding: 11px 14px;
	border: 1px solid #ededed;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 3px 12px #0000000f;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

.yiwan-floating-contact .yfc-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--yfc-size);
	height: var(--yfc-size);
	border-radius: 50%;
	background: var(--yfc-red);
	color: #fff;
	box-shadow: 0 3px 14px #0000001f;
}

.yiwan-floating-contact .yfc-whatsapp .yfc-icon {
	background: #168e4b;
}

.yiwan-floating-contact > summary:focus-visible,
.yiwan-floating-contact > nav a:focus-visible {
	outline: 3px solid var(--yfc-ink);
	outline-offset: 4px;
}

@media (max-width: 767px) {
	.yiwan-floating-contact {
		--yfc-size: 54px;
		right: max(16px, env(safe-area-inset-right));
		bottom: calc(16px + env(safe-area-inset-bottom));
	}
}
