/* ===== 悬浮客服组件补充样式 ===== */
.float-toolbar {
 position: fixed; right: 24px; bottom: 24px; z-index: 9998;
 display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.float-tool-btn {
 position: relative; width: 52px; height: 52px; border-radius: 50%;
 background: var(--accent); color: #fff; border: none; cursor: pointer;
 display: flex; align-items: center; justify-content: center;
 box-shadow: 0 4px 16px rgba(13,123,196,0.35);
 transition: transform 0.2s, box-shadow 0.2s;
}
.float-tool-btn:hover { transform: scale(1.08); box-shadow: 0 6px 24px rgba(13,123,196,0.4); }
.float-tool-label {
 position: absolute; right: 62px; top: 50%; transform: translateY(-50%);
 background: var(--ink); color: #fff; padding: 4px 12px; border-radius: 6px;
 font-size: 0.78rem; white-space: nowrap; opacity: 0; pointer-events: none;
 transition: opacity 0.2s;
}
.float-tool-btn:hover .float-tool-label { opacity: 1; }
.chat-fab { width: 56px; height: 56px; background: linear-gradient(135deg, var(--accent), #0ea5e9); animation: pulse 2s infinite; }
@keyframes pulse {
 0%,100% { box-shadow: 0 4px 16px rgba(13,123,196,0.35); }
 50% { box-shadow: 0 4px 24px rgba(13,123,196,0.6), 0 0 0 6px rgba(13,123,196,0.12); }
}
.back-top { width: 48px; height: 48px; background: #fff; color: var(--accent); border: 1px solid var(--rule); box-shadow: 0 2px 8px rgba(0,0,0,0.1); }

/* 聊天面板 */
.chat-panel {
 position: fixed; bottom: 88px; right: 24px; width: 340px; max-width: calc(100vw - 48px);
 background: #fff; border-radius: 14px; box-shadow: 0 8px 32px rgba(0,0,0,0.18);
 z-index: 9999; overflow: hidden;
 display: flex; flex-direction: column; max-height: 0; opacity: 0;
 transform: translateY(12px) scale(0.96); pointer-events: none;
 transition: max-height 0.35s ease, opacity 0.25s ease, transform 0.25s ease;
}
.chat-panel.open {
 max-height: 580px; opacity: 1; transform: translateY(0) scale(1);
 pointer-events: auto;
}
.chat-header {
 background: linear-gradient(135deg, var(--accent), #0ea5e9); color: #fff;
 padding: 14px 18px; font-size: 1rem; font-weight: 600;
 display: flex; justify-content: space-between; align-items: center;
}
.chat-close {
 background: rgba(255,255,255,0.2); border: none; color: #fff;
 width: 28px; height: 28px; border-radius: 50%; font-size: 1.1rem;
 cursor: pointer; line-height: 1;
}
.chat-close:hover { background: rgba(255,255,255,0.35); }
.chat-body { padding: 16px; overflow-y: auto; flex: 1; }

/* 咨询表单 */
.consult-form .form-row { margin-bottom: 12px; }
.consult-form .form-row label {
 display: block; font-size: 0.82rem; color: var(--text2); margin-bottom: 5px; font-weight: 500;
}
.consult-form .form-row input,
.consult-form .form-row select,
.consult-form .form-row textarea {
 width: 100%; padding: 9px 12px; border: 1px solid var(--rule); border-radius: 8px;
 font-size: 0.85rem; color: var(--ink); background: #fff; box-sizing: border-box;
 transition: border-color 0.2s;
}
.consult-form .form-row input:focus,
.consult-form .form-row select:focus,
.consult-form .form-row textarea:focus {
 outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(37,99,235,0.08);
}
.consult-form .form-row textarea { resize: vertical; min-height: 60px; }
.btn-consult-submit {
 width: 100%; padding: 10px; background: linear-gradient(135deg, var(--accent), #0ea5e9);
 color: #fff; border: none; border-radius: 8px; font-size: 0.9rem; font-weight: 600;
 cursor: pointer; transition: transform 0.15s, box-shadow 0.15s; margin-top: 4px;
}
.btn-consult-submit:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(13,123,196,0.35); }
.btn-consult-submit:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }

.consult-contact-info {
 margin-top: 16px; padding-top: 12px; border-top: 1px dashed var(--rule);
}

/* 移动端适配 */
@media (max-width: 768px) {
 .float-toolbar { right: 16px; bottom: 16px; gap: 10px; }
 .chat-fab { width: 54px; height: 54px; }
 .back-top { width: 44px; height: 44px; }
 .chat-panel { width: calc(100vw - 32px); max-width: 360px; right: 16px; bottom: 76px; }
 .float-tool-label { display: none; }
 .consult-form .form-row { margin-bottom: 10px; }
 .consult-form .form-row input,
 .consult-form .form-row select,
 .consult-form .form-row textarea { font-size: 16px; padding: 10px 12px; }
}
