/**
 * zeemablog 询盘表单通用样式（v1.12.0）
 * 令牌回退策略与 doc.css 一致：
 *   --zb-*（default/aurora/aurum/skyline/verdant/mono/codex）
 *   --nx-*（nexus）  --fs-*（lark）
 * 深色主题（aurora/aurum）令牌自身已适配，浅色字面量为兜底值。
 */
:root {
    --zf-primary: var(--zb-primary, var(--nx-primary, var(--fs-blue, #4f6ef7)));
    --zf-ink: var(--zb-ink, var(--nx-ink, var(--fs-text, #0f172a)));
    --zf-ink-2: var(--zb-ink-2, var(--nx-ink-2, var(--fs-text2, #334155)));
    --zf-muted: var(--zb-muted, var(--nx-ink-3, var(--fs-text3, #64748b)));
    --zf-line: var(--zb-line, var(--zb-border, var(--nx-line, var(--fs-border, #e2e8f0))));
    --zf-card: var(--zb-card, var(--zb-surface, var(--nx-card, var(--fs-bg, #ffffff))));
    --zf-soft: var(--zb-bg, var(--nx-bg, var(--fs-bg-soft, #f6f8fc)));
    --zf-radius: var(--zb-radius, var(--nx-radius, var(--fs-radius, 14px)));
}

.zbf-wrap { max-width: 780px; margin: 48px auto 64px; padding: 0 20px; }
.zbf-card {
    background: var(--zf-card);
    border: 1px solid var(--zf-line);
    border-radius: calc(var(--zf-radius) + 4px);
    padding: 40px 44px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, .06);
}
.zbf-title { font-size: 26px; font-weight: 800; color: var(--zf-ink); margin: 0 0 8px; }
.zbf-sub { font-size: 14px; color: var(--zf-muted); margin: 0 0 28px; }
.zbf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; }
.zbf-field { display: flex; flex-direction: column; }
.zbf-field.zbf-full { grid-column: 1 / -1; }
.zbf-label { font-size: 13px; font-weight: 600; color: var(--zf-ink-2); margin-bottom: 8px; }
.zbf-label em { color: #ef4444; font-style: normal; margin-left: 2px; }
.zbf-input, .zbf-select, .zbf-textarea {
    font: inherit;
    font-size: 14px;
    color: var(--zf-ink);
    background: var(--zf-soft);
    border: 1px solid var(--zf-line);
    border-radius: 10px;
    padding: 12px 14px;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}
.zbf-input:focus, .zbf-select:focus, .zbf-textarea:focus {
    border-color: var(--zf-primary);
    box-shadow: 0 0 0 3px rgba(79, 110, 247, .12);
}
.zbf-textarea { resize: vertical; min-height: 120px; }
.zbf-actions { margin-top: 26px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.zbf-submit {
    font: inherit; font-size: 15px; font-weight: 700; color: #fff; cursor: pointer;
    background: linear-gradient(135deg, var(--zf-primary), var(--zf-primary));
    border: none; border-radius: 10px; padding: 13px 40px;
    box-shadow: 0 8px 20px rgba(79, 110, 247, .28);
    transition: transform .15s, box-shadow .15s;
}
.zbf-submit:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(79, 110, 247, .36); }
.zbf-tip { font-size: 12px; color: var(--zf-muted); }
@media (max-width: 640px) {
    .zbf-card { padding: 26px 20px; }
    .zbf-grid { grid-template-columns: 1fr; }
}

/* 产品详情页 CTA（自包含，无外部依赖） */
.zbq-cta {
    max-width: 1080px; margin: 0 auto 56px; padding: 30px 36px;
    display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
    background: var(--zf-card, #fff);
    border: 1px solid var(--zf-line, #e2e8f0);
    border-radius: calc(var(--zf-radius, 14px) + 2px);
    box-shadow: 0 10px 32px rgba(15, 23, 42, .07);
}
.zbq-cta-t { font-size: 19px; font-weight: 800; color: var(--zf-ink, #0f172a); margin: 0 0 6px; }
.zbq-cta-d { font-size: 13px; color: var(--zf-muted, #64748b); margin: 0; }
.zbq-cta-btn {
    display: inline-block; font-size: 15px; font-weight: 700; color: #fff; text-decoration: none;
    background: linear-gradient(135deg, var(--zf-primary, #4f6ef7), var(--zf-primary, #4f6ef7));
    border-radius: 10px; padding: 13px 34px; box-shadow: 0 8px 20px rgba(79, 110, 247, .28);
    transition: transform .15s, box-shadow .15s;
}
.zbq-cta-btn:hover { transform: translateY(-1px); }

/* 客服二维码悬浮（自包含） */
.zbq-svc-btn {
    position: fixed; right: 22px; bottom: 88px; z-index: 999;
    width: 52px; height: 52px; border-radius: 50%; border: none; cursor: pointer;
    background: linear-gradient(135deg, #22c55e, #16a34a); color: #fff; font-size: 22px;
    box-shadow: 0 8px 22px rgba(22, 163, 74, .35);
}
.zbq-svc-mask {
    position: fixed; inset: 0; z-index: 1000; display: none;
    background: rgba(15, 23, 42, .55);
}
.zbq-svc-mask.is-open { display: flex; align-items: center; justify-content: center; }
.zbq-svc-card {
    background: #fff; border-radius: 16px; padding: 26px 30px; text-align: center;
    max-width: 320px; margin: 20px; position: relative;
}
.zbq-svc-card img { width: 220px; height: 220px; object-fit: contain; border-radius: 8px; display: block; margin: 0 auto; }
.zbq-svc-card p { font-size: 14px; color: #334155; margin: 12px 0 0; }
.zbq-svc-close {
    position: absolute; top: 8px; right: 12px; border: none; background: none;
    font-size: 20px; color: #94a3b8; cursor: pointer;
}
