.floating-sidebar {
    position: fixed; right: 20px; bottom: 100px; z-index: 999;
    display: flex; flex-direction: column; gap: 12px; align-items: flex-end;
}
.floating-sidebar__consult {
    position: relative; cursor: pointer;
    background: var(--color-primary); color: #fff;
    width: 56px; height: 56px; border-radius: 50%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    box-shadow: var(--shadow-card-hover); transition: var(--transition);
}
.floating-sidebar__consult:hover { background: var(--color-primary-hover); }
.floating-sidebar__icon { font-size: 22px; line-height: 1; }
.floating-sidebar__label { font-size: 10px; margin-top: 2px; }

/* 二维码弹出框 */
.floating-sidebar__qrcode-popup {
    position: absolute;
    right: 68px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 12px;
    text-align: center;
    box-shadow: var(--shadow-card-hover);
    
    /* 【修复点1】给弹窗一个固定的内容宽度，避免被外部布局挤压 */
    width: max-content; 
    
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: var(--transition);
    white-space: nowrap;
}

/* 【修复点2】强制二维码图片为正方形，防止拉伸变形 */
.floating-sidebar__qrcode-popup img {
    width: 160px;
    height: 160px;
    object-fit: contain;      /* 保持图片比例完整显示在正方形区域内 */
    aspect-ratio: 1 / 1;      /* 现代浏览器双重保障正方形比例 */
    display: block;           /* 消除图片底部默认的 inline 空白间隙 */
    margin: 0 auto;
}

.floating-sidebar__qrcode-popup p {
    font-size: 12px;
    margin-top: 6px;
    color: var(--color-text-light);
    line-height: 1.4;
}
.floating-sidebar__consult:hover .floating-sidebar__qrcode-popup {
    opacity: 1; visibility: visible; pointer-events: auto;
}

/* 回顶部按钮 */
.floating-sidebar__back-top {
    width: 44px; height: 44px; border-radius: 50%; border: none;
    background: var(--color-bg); color: var(--color-text);
    font-size: 18px; cursor: pointer;
    box-shadow: var(--shadow-card); transition: var(--transition);
    opacity: 0; visibility: hidden; transform: translateY(10px);
}
.floating-sidebar__back-top.visible {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.floating-sidebar__back-top:hover { background: var(--color-bg-gray); }