/* 营销中心 - 侧边悬浮在线客服 */
.mc-floating-contact {
	position: fixed;
	z-index: 99990;
	bottom: 24px;
	right: 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0;
	overflow: visible;
	/* 为最底部按钮的阴影留出与视口边缘的间隙，避免贴底被裁切 */
	padding-bottom: 10px;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.mc-floating-contact__item + .mc-floating-contact__item {
	margin-top: 10px;
}

.mc-floating-contact.mc-floating-contact--left {
	right: auto;
	left: 16px;
	align-items: flex-start;
}

.mc-floating-contact__item {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

button.mc-floating-contact__btn {
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
}

.mc-floating-contact__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #1e293b;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.35);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	border: none;
	cursor: pointer;
	padding: 0;
}

.mc-floating-contact__btn:hover,
.mc-floating-contact__btn:focus-visible {
	/* 整钮 scale 易让内部 SVG 在高分屏发糊，改为轻微上移 + 阴影 */
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.45);
	color: #fff;
	outline: none;
}

.mc-floating-contact__btn--whatsapp {
	background: #25d366;
}

.mc-floating-contact__btn--wechat {
	background: #07c160;
}

/* 微信：悬停/聚焦/按下不改变背景色（避免主题或默认 button 样式变色） */
.mc-floating-contact__btn--wechat:hover,
.mc-floating-contact__btn--wechat:focus-visible,
.mc-floating-contact__btn--wechat:active {
	background-color: #07c160 !important;
}

.mc-floating-contact__btn--tel {
	background: #2563eb;
}

.mc-floating-contact__btn--email {
	background: #64748b;
}

/* 返回顶部：默认不占高度；滚动后出现并平滑撑开，把上方按钮顶上去 */
.mc-floating-contact__item--totop {
	margin-top: 0 !important;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	padding-bottom: 0;
	pointer-events: none;
	transform: translateY(6px);
	transition:
		max-height 0.45s cubic-bezier(0.33, 1, 0.68, 1),
		opacity 0.35s ease,
		margin-top 0.45s cubic-bezier(0.33, 1, 0.68, 1),
		transform 0.45s cubic-bezier(0.33, 1, 0.68, 1),
		padding-bottom 0.45s cubic-bezier(0.33, 1, 0.68, 1);
}

.mc-floating-contact__item--totop.mc-floating-contact__item--totop-visible {
	margin-top: 10px !important;
	/* 高度需大于按钮+阴影，且不能用 overflow:hidden 裁切 box-shadow */
	max-height: 88px;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	overflow: visible;
	padding-bottom: 12px;
	box-sizing: border-box;
}

.mc-floating-contact__btn--totop {
	background: #334155;
	flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
	.mc-floating-contact__item--totop {
		transition-duration: 0.01ms;
	}
}

.mc-floating-contact__icon {
	width: 24px;
	height: 24px;
	display: block;
	flex-shrink: 0;
	fill: currentColor;
	vertical-align: middle;
	shape-rendering: geometricPrecision;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* 防止主题把 path 设成 block 导致多段路径纵向错位 */
.mc-floating-contact__icon path {
	display: inline;
}

/* 微信二维码悬停 */
.mc-floating-contact__popover {
	position: absolute;
	bottom: 0;
	right: calc(100% + 12px);
	opacity: 0;
	visibility: hidden;
	transform: translateX(6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
	pointer-events: none;
	background: #fff;
	padding: 10px;
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
	border: 1px solid rgba(15, 23, 42, 0.08);
	text-align: center;
	min-width: 140px;
}

.mc-floating-contact.mc-floating-contact--left .mc-floating-contact__popover {
	right: auto;
	left: calc(100% + 12px);
	transform: translateX(-6px);
}

.mc-floating-contact__item:hover .mc-floating-contact__popover,
.mc-floating-contact__item:focus-within .mc-floating-contact__popover {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	pointer-events: auto;
}

.mc-floating-contact__qr {
	display: block;
	width: 160px;
	height: auto;
	max-width: 56vw;
	border-radius: 6px;
}

.mc-floating-contact__hint {
	margin: 8px 0 0;
	font-size: 12px;
	color: #475569;
	line-height: 1.35;
	max-width: 180px;
	word-break: break-word;
}

@media (max-width: 782px) {
	.mc-floating-contact {
		bottom: 14px;
		right: 10px;
		padding-bottom: 10px;
	}

	.mc-floating-contact.mc-floating-contact--left {
		left: 10px;
	}

	.mc-floating-contact.mc-floating-contact--wechat-open {
		z-index: 100001;
	}

	.mc-floating-contact__item + .mc-floating-contact__item {
		margin-top: 8px;
	}

	.mc-floating-contact__btn {
		width: 40px;
		height: 40px;
		box-shadow: 0 3px 10px rgba(15, 23, 42, 0.28);
	}

	.mc-floating-contact__icon {
		width: 20px;
		height: 20px;
	}

	.mc-floating-contact__item--totop.mc-floating-contact__item--totop-visible {
		max-height: 76px;
		padding-bottom: 10px;
	}

	/* 手机端：微信二维码点击弹出，视口居中，避免贴侧被裁切 */
	.mc-floating-contact__backdrop {
		position: fixed;
		inset: 0;
		z-index: 99999;
		background: rgba(15, 23, 42, 0.45);
		-webkit-tap-highlight-color: transparent;
	}

	.mc-floating-contact__item--wechat .mc-floating-contact__popover {
		position: fixed;
		left: 50%;
		top: 50%;
		right: auto;
		bottom: auto;
		min-width: 0;
		width: min(280px, calc(100vw - 32px));
		max-width: calc(100vw - 32px);
		box-sizing: border-box;
		transform: translate(-50%, -50%) scale(0.96);
		z-index: 100000;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	}

	.mc-floating-contact__item--wechat.is-open .mc-floating-contact__popover {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate(-50%, -50%) scale(1);
	}

	/* 盖过桌面端 hover 的 transform，避免居中弹层被改成 translateX(0) */
	.mc-floating-contact__item--wechat.is-open:hover .mc-floating-contact__popover,
	.mc-floating-contact__item--wechat.is-open:focus-within .mc-floating-contact__popover {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate(-50%, -50%) scale(1);
	}

	/* 手机端禁用悬停弹出微信（仅 .is-open） */
	.mc-floating-contact__item--wechat:not(.is-open):hover .mc-floating-contact__popover,
	.mc-floating-contact__item--wechat:not(.is-open):focus-within .mc-floating-contact__popover {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate(-50%, -50%) scale(0.96);
	}

	.mc-floating-contact__qr {
		width: 100%;
		max-width: 220px;
		height: auto;
		margin: 0 auto;
	}

	.mc-floating-contact__hint {
		max-width: none;
	}
}
