/*!
 * 66Skates Social Float Buttons
 * 右下角社交客服浮动按钮
 */

#skates-social-float {
	--sf-offset-bottom: 120px;
	--sf-gap: 10px;
	--sf-size: 48px;
	--sf-radius: 50%;
	--sf-brand-whatsapp: #25d366;
	--sf-brand-telegram: #229ed9;
	--sf-brand-vk: #0077ff;
	--sf-brand-wechat: #07c160;

	position: fixed;
	bottom: var(--sf-offset-bottom);
	z-index: 9990;
	display: flex;
	flex-direction: column;
	gap: var(--sf-gap);
	align-items: center;
	line-height: 1;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

#skates-social-float.skates-sf--right {
	right: 20px;
}

#skates-social-float.skates-sf--left {
	left: 20px;
}

#skates-social-float * {
	box-sizing: border-box;
}

/* 按钮 */
#skates-social-float .skates-sf__btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--sf-size);
	height: var(--sf-size);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--sf-radius);
	background: #4a4a4a;
	color: #fff;
	font-size: 0;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
	transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease;
	overflow: visible;
}

#skates-social-float .skates-sf__btn svg {
	width: 24px;
	height: 24px;
	display: block;
	flex: none;
}

/* 按钮内文字默认隐藏（保留给无障碍/悬浮展开） */
#skates-social-float .skates-sf__txt {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	font: 600 13px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
}

#skates-social-float .skates-sf__btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

#skates-social-float .skates-sf__btn:hover {
	transform: translateY(-2px) scale(1.06);
	box-shadow: 0 8px 22px rgba(0, 0, 0, .3);
}

#skates-social-float .skates-sf__btn:active {
	transform: translateY(0) scale(.97);
}

/* 品牌配色 */
#skates-social-float .skates-sf__btn--whatsapp { background: var(--sf-brand-whatsapp); }
#skates-social-float .skates-sf__btn--telegram { background: var(--sf-brand-telegram); }
#skates-social-float .skates-sf__btn--vk       { background: var(--sf-brand-vk); }
#skates-social-float .skates-sf__btn--wechat   { background: var(--sf-brand-wechat); }

/* 微信项：承载二维码 */
#skates-social-float .skates-sf__item {
	position: relative;
	display: block;
}

/* 二维码弹层 */
#skates-social-float .skates-sf__qr {
	position: absolute;
	bottom: 0;
	width: 180px;
	padding: 10px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 10px 34px rgba(0, 0, 0, .2);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px) scale(.96);
	transform-origin: bottom center;
	transition: opacity .22s ease, transform .22s ease, visibility .22s;
	pointer-events: none;
}

/* 右下角：二维码出现在按钮左侧 */
#skates-social-float.skates-sf--right .skates-sf__qr {
	right: calc(100% + 14px);
}

/* 左下角：二维码出现在按钮右侧 */
#skates-social-float.skates-sf--left .skates-sf__qr {
	left: calc(100% + 14px);
	transform-origin: bottom center;
}

/* 小箭头 */
#skates-social-float .skates-sf__qr-arrow {
	position: absolute;
	bottom: 18px;
	width: 0;
	height: 0;
	border: 8px solid transparent;
}

#skates-social-float.skates-sf--right .skates-sf__qr-arrow {
	right: -6px;
	border-left-color: #fff;
	border-right-width: 0;
}

#skates-social-float.skates-sf--left .skates-sf__qr-arrow {
	left: -6px;
	border-right-color: #fff;
	border-left-width: 0;
}

#skates-social-float .skates-sf__qr-box {
	display: block;
	width: 160px;
	height: 160px;
	margin: 0 auto;
	border-radius: 8px;
	overflow: hidden;
	background: #f6f7f8;
	display: flex;
	align-items: center;
	justify-content: center;
}

#skates-social-float .skates-sf__qr-box img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

#skates-social-float .skates-sf__qr-empty {
	font: 500 12px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
	color: #999;
	text-align: center;
	padding: 0 8px;
}

#skates-social-float .skates-sf__qr-tip {
	margin: 8px 0 0;
	font: 500 12px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
	color: #444;
	text-align: center;
	word-break: break-word;
}

/* 悬停 / 聚焦 / 展开状态 */
#skates-social-float .skates-sf__item--wechat:hover .skates-sf__qr,
#skates-social-float .skates-sf__item--wechat:focus-within .skates-sf__qr,
#skates-social-float .skates-sf__item--wechat.is-open .skates-sf__qr {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}

/* 触屏设备：不依赖 hover，改用点击切换 */
@media (hover: none) {
	#skates-social-float .skates-sf__item--wechat:hover .skates-sf__qr {
		opacity: 0;
		visibility: hidden;
		transform: translateY(8px) scale(.96);
		pointer-events: none;
	}
	#skates-social-float .skates-sf__item--wechat.is-open .skates-sf__qr {
		opacity: 1;
		visibility: visible;
		transform: translateY(0) scale(1);
		pointer-events: auto;
	}
}

/* 移动端适配 */
@media screen and (max-width: 768px) {
	#skates-social-float {
		--sf-size: 42px;
		--sf-offset-bottom: 80px;
	}
	#skates-social-float.skates-sf--right { right: 12px; }
	#skates-social-float.skates-sf--left  { left: 12px; }

	#skates-social-float .skates-sf__btn svg {
		width: 21px;
		height: 21px;
	}

	#skates-social-float .skates-sf__qr {
		width: 160px;
		padding: 8px;
	}

	#skates-social-float .skates-sf__qr-box {
		width: 144px;
		height: 144px;
	}
}

/* 小屏：二维码出现在按钮上方，避免溢出屏幕 */
@media screen and (max-width: 480px) {
	#skates-social-float .skates-sf__qr {
		bottom: calc(100% + 14px);
		right: auto;
		left: 50%;
		transform: translateX(-50%) translateY(8px) scale(.96);
		max-width: calc(100vw - 32px);
	}
	#skates-social-float.skates-sf--left .skates-sf__qr {
		left: 50%;
	}
	#skates-social-float .skates-sf__item--wechat:hover .skates-sf__qr,
	#skates-social-float .skates-sf__item--wechat:focus-within .skates-sf__qr,
	#skates-social-float .skates-sf__item--wechat.is-open .skates-sf__qr {
		transform: translateX(-50%) translateY(0) scale(1);
	}
	#skates-social-float .skates-sf__qr-arrow {
		display: none;
	}
}

/* 打印时隐藏 */
@media print {
	#skates-social-float { display: none !important; }
}

/* 尊重用户「减少动效」偏好 */
@media (prefers-reduced-motion: reduce) {
	#skates-social-float .skates-sf__btn,
	#skates-social-float .skates-sf__qr {
		transition: none !important;
	}
}
