/* Floating WeChat/icon: fixed bottom-right; hover shows WeChat contact card (image URL relative to this CSS file). */
#css.footer-qr-widget {
	position: fixed;
	/* 离右/下更远，避免贴边被裁切；叠加系统安全区 */
	right: calc(32px + env(safe-area-inset-right, 0px));
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	left: auto;
	top: auto;
	width: auto;
	min-width: 84px;
	z-index: 999900;
	display: block;
	margin: 0;
	padding: 8px;
	box-sizing: border-box;
	overflow: visible;
	pointer-events: auto;
}
#css.footer-qr-widget > a {
	display: block;
	line-height: 0;
	border-radius: 12px;
	overflow: visible;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	transform-origin: center bottom;
}
#css.footer-qr-widget > a:hover,
#css.footer-qr-widget > a:focus-visible {
	transform: scale(1.04);
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.22);
}
#css.footer-qr-widget img.wp-image-2524 {
	width: 84px;
	height: 84px;
	max-width: none;
	object-fit: contain;
	display: block;
	border-radius: 12px;
}
#css.footer-qr-widget .footer-qr-flyout {
	position: absolute;
	left: auto;
	right: 8px;
	bottom: calc(100% + 10px);
	transform: none;
	/* 名片原图约 803×1024，竖版；宽度限制，高度随比例并受视口高度约束 */
	width: min(280px, calc(100vw - 40px - env(safe-area-inset-right, 0px)));
	max-height: calc(100vh - 120px - env(safe-area-inset-top, 0px));
	aspect-ratio: 803 / 1024;
	height: auto;
	box-sizing: border-box;
	padding: 10px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	background-image: url("uploads/2026/03/wechat-contact-card.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.2s ease, visibility 0.2s ease;
	z-index: 999901;
}
#css.footer-qr-widget:hover .footer-qr-flyout,
#css.footer-qr-widget:focus-within .footer-qr-flyout {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Global alignment tuning: keep images and boxed blocks aligned. */
.elementor .elementor-container {
	align-items: stretch;
}
.elementor .elementor-column > .elementor-widget-wrap {
	height: 100%;
	box-sizing: border-box;
}
.elementor .elementor-widget-image img,
.elementor .elementor-image-box-img img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: cover;
}
.elementor .elementor-widget-image,
.elementor .elementor-widget-image-box,
.elementor .elementor-widget-icon-box {
	height: 100%;
}
.elementor .elementor-image-box-wrapper,
.elementor .elementor-icon-box-wrapper {
	height: 100%;
	box-sizing: border-box;
}
