/* 常见问题页与会员中心「问题反馈」的补充样式；通栏首屏由 product-layout.css 统一维护。 */
/* 常见问题：搜索框、分类标签、手风琴、答案排版 */
.ql-faq-search { position:relative; }
.ql-faq-search svg { position:absolute; top:50%; left:16px; width:20px; height:20px; transform:translateY(-50%); fill:none; stroke:#64748b; stroke-width:2; stroke-linecap:round; pointer-events:none; }
.ql-faq-search input { width:100%; height:52px; border:1px solid #e2e8f0; border-radius:14px; padding:0 16px 0 46px; color:#0f172a; background:#fff; font-size:16px; }
.ql-faq-search input:focus { border-color:#3b82f6; outline:none; box-shadow:0 0 0 4px rgb(59 130 246 / .15); }
.dark .ql-faq-search input { border-color:#334155; color:#f1f5f9; background:#0f172a; }
.ql-faq-chip { min-height:38px; }
.ql-faq-chip span { color:#64748b; font-weight:500; font-variant-numeric:tabular-nums; }
.ql-faq-group[hidden], .ql-faq-item[hidden], .ql-faq-empty[hidden] { display:none; }
.ql-faq-item { scroll-margin-top:96px; border-top:1px solid #e2e8f0; }
.ql-faq-item:first-child { border-top:0; }
.dark .ql-faq-item { border-color:#334155; }
.ql-faq-item:target { background:#f8fafc; }
.dark .ql-faq-item:target { background:#1e293b; }
.ql-faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:16px 20px; color:#0f172a; cursor:pointer; font-size:16px; font-weight:600; line-height:1.6; list-style:none; }
.dark .ql-faq-item summary { color:#f1f5f9; }
.ql-faq-item summary:hover { background:#f8fafc; }
.dark .ql-faq-item summary:hover { background:#1e293b; }
.ql-faq-item summary::-webkit-details-marker { display:none; }
.ql-faq-item summary:focus-visible { outline:3px solid rgb(59 130 246 / .4); outline-offset:-3px; }
.ql-faq-item summary svg { flex:none; width:20px; height:20px; fill:none; stroke:#64748b; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }
.ql-faq-item[open] summary svg { transform:rotate(180deg); }
.ql-faq-answer { padding:0 20px 20px; color:#475569; font-size:15px; line-height:1.85; overflow-wrap:anywhere; }
.dark .ql-faq-answer { color:#cbd5e1; }
.ql-faq-answer p, .ql-faq-answer ul, .ql-faq-answer ol { margin:0 0 10px; }
.ql-faq-answer > :last-child { margin-bottom:0; }
.ql-faq-answer ul, .ql-faq-answer ol { padding-left:22px; }
.ql-faq-answer ul { list-style:disc; }
.ql-faq-answer ol { list-style:decimal; }
.ql-faq-answer a { color:#2563eb; text-decoration:underline; text-underline-offset:3px; }
.dark .ql-faq-answer a { color:#60a5fa; }
.ql-faq-answer strong { color:#0f172a; }
.dark .ql-faq-answer strong { color:#f8fafc; }
.ql-faq-answer code { border-radius:6px; padding:1px 6px; background:#f1f5f9; font-size:.9em; }
.dark .ql-faq-answer code { background:#1e293b; }
.ql-faq-answer img { max-width:100%; height:auto; border-radius:12px; }
.ql-faq-images { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-top:14px; }
.ql-faq-images img { width:100%; aspect-ratio:4/3; object-fit:cover; border:1px solid #e2e8f0; }
@media (min-width:640px) { .ql-faq-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; } .ql-faq-cta-actions { flex:none; margin-top:0; } }

/* 会员中心按钮：次要按钮、主按钮与官网按钮同一尺寸（胶囊圆角、44px 触控高度、一致内边距），只改外观不改行为。 */
.ql-member-page .ql-member-secondary, .ql-member-page .ql-membership-action, .ql-member-page .ql-member-primary-tabs button { min-height:44px; border-radius:var(--ql-button-radius,999px) !important; padding:10px 20px; font-size:14px; font-weight:600; }
.ql-member-page .ql-member-email-binding .ql-member-secondary { min-height:32px; padding:5px 12px; font-size:12px; }
.ql-member-page .ql-member-secondary:disabled { cursor:default; opacity:.6; }

/* 会员中心 · 问题反馈（在会员中心两级菜单内） */
.ql-suggest-link { color:inherit; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; overflow-wrap:anywhere; }
.ql-suggest-link:hover { text-decoration-color:currentColor; }
.ql-suggest-status { display:inline-flex; border-radius:999px; padding:2px 10px; background:#f1f5f9; color:#475569; font-size:12px; font-weight:600; white-space:nowrap; }
.ql-suggest-status.is-pending { background:#fef3c7; color:#92400e; }
.ql-suggest-status.is-answered { background:#dbeafe; color:#1e40af; }
.ql-suggest-status.is-published { background:#dcfce7; color:#166534; }
.dark .ql-suggest-status { background:#1e293b; color:#cbd5e1; }
.dark .ql-suggest-status.is-pending { background:#422006; color:#fcd34d; }
.dark .ql-suggest-status.is-answered { background:#172554; color:#93c5fd; }
.dark .ql-suggest-status.is-published { background:#052e16; color:#86efac; }
.ql-suggest-new { margin-top:20px; scroll-margin-top:96px; }
.ql-suggest-form { display:grid; gap:14px; padding:20px 24px 24px; }
.ql-suggest-grid { display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ql-suggest-form select, .ql-suggest-form textarea { width:100%; min-width:0; border:1px solid #cbd5e1; border-radius:12px; color:#0f172a; background:#fff; font-size:16px; }
.ql-suggest-form select { height:48px; padding:0 12px; }
.ql-suggest-form textarea { min-height:112px; padding:12px 14px; line-height:1.7; resize:vertical; }
.ql-suggest-form select:focus, .ql-suggest-form textarea:focus { border-color:#3b82f6; outline:none; box-shadow:0 0 0 3px rgb(59 130 246 / .15); }
.dark .ql-suggest-form select, .dark .ql-suggest-form textarea { border-color:#475569; color:#f8fafc; background:#1e293b; }
/* 底部一行：左侧「添加图片」，右侧验证码输入 + 验证码图片 + 提交；窄屏自动换行，右侧组靠右。 */
.ql-suggest-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.ql-suggest-upload { position:relative; display:flex; align-items:center; }
.ql-suggest-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.ql-suggest-upload label { min-height:48px; cursor:pointer; }
.ql-suggest-upload input:focus-visible + label { outline:3px solid #93c5fd; outline-offset:3px; }
.ql-member-page .ql-suggest-upload label { white-space:nowrap; }
.ql-member-page .ql-suggest-upload label[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
/* 图片说明行：平时为灰色提示；超出数量、过大或格式不符时变为站点的提醒色（与「待处理」状态同色），不弹窗。 */
.ql-suggest-hint { margin:-4px 0 0; color:#64748b; font-size:13px; line-height:1.6; transition:background-color .15s, color .15s; }
.ql-suggest-hint.is-warning { justify-self:start; border-radius:10px; padding:6px 12px; background:#fef3c7; color:#92400e; font-weight:600; }
.dark .ql-suggest-hint { color:#94a3b8; }
.dark .ql-suggest-hint.is-warning { background:#422006; color:#fcd34d; }
/* 「内容」输入框：外层容器承担边框与聚焦光圈，文本框本身无边框；已选图片缩略图显示在框内文字下方（类似聊天输入框），无图片时隐藏。 */
.ql-suggest-label { color:#475569; font-size:12px; font-weight:700; }
.dark .ql-suggest-label { color:#cbd5e1; }
.ql-suggest-composer { min-width:0; border:1px solid #cbd5e1; border-radius:12px; background:#fff; box-shadow:inset 0 1px 2px #0f172a08; cursor:text; transition:border-color .15s, box-shadow .15s; }
.ql-suggest-composer:focus-within { border-color:#3b82f6; box-shadow:0 0 0 3px rgb(59 130 246 / .15); }
.dark .ql-suggest-composer { border-color:#475569; background:#1e293b; }
.ql-member-page .ql-suggest-form .ql-suggest-composer textarea, .ql-member-page .ql-suggest-form .ql-suggest-composer textarea:focus { display:block; border:0; border-radius:12px; outline:none; box-shadow:none; background:transparent; }
.ql-suggest-thumbs { display:flex; flex-wrap:wrap; gap:12px; padding:10px 14px 12px; cursor:default; }
.ql-suggest-thumbs[hidden] { display:none; }
.ql-suggest-thumb { position:relative; }
.ql-suggest-thumb img { display:block; width:60px; height:60px; object-fit:cover; border:1px solid #e2e8f0; border-radius:10px; }
.ql-member-page .ql-suggest-thumb button { position:absolute; top:-8px; right:-8px; display:flex; width:24px; height:24px; min-height:0; align-items:center; justify-content:center; padding:0; border:1px solid #e2e8f0; border-radius:999px !important; color:#475569; background:#fff; font-size:15px; line-height:1; cursor:pointer; box-shadow:0 2px 6px rgb(15 23 42 / .12); }
.ql-member-page .ql-suggest-thumb button:hover { color:#bf3535; border-color:#f3c4c4; }
.dark .ql-member-page .ql-suggest-thumb button { border-color:#475569; color:#cbd5e1; background:#0f172a; }
@media (max-width:479px) { .ql-suggest-thumbs { gap:10px; padding:10px 12px 12px; } .ql-suggest-thumb img { width:56px; height:56px; } }
.ql-suggest-captcha { display:flex; align-items:center; gap:10px; margin-left:auto; }
.ql-suggest-captcha-field { flex:none; }
.ql-member-page .ql-suggest-captcha-field input { width:120px; height:48px; border:1px solid #cbd5e1; border-radius:12px; padding:0 12px; color:#0f172a; background:#fff; font-size:16px; }
.ql-member-page .ql-suggest-captcha-field input:focus { border-color:#3b82f6; outline:none; box-shadow:0 0 0 3px rgb(59 130 246 / .15); }
.dark .ql-member-page .ql-suggest-captcha-field input { border-color:#475569; color:#f8fafc; background:#1e293b; }
.ql-suggest-captcha img { flex:none; height:48px; width:auto; max-width:130px; border:1px solid #e2e8f0; border-radius:12px; cursor:pointer; background:#fff; }
.ql-member-page .ql-suggest-captcha .ql-suggest-submit { flex:none; min-height:48px; padding:10px 24px; }
.ql-suggest-detail-body { padding:22px 28px 28px; }
.ql-suggest-detail .ql-suggest-title { margin:0; font-size:clamp(20px,2.4vw,26px); font-weight:650; line-height:1.35; overflow-wrap:anywhere; }
.ql-suggest-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin:10px 0 0; color:#64748b; font-size:13px; }
.ql-suggest-body { margin-top:18px; font-size:15px; line-height:1.85; overflow-wrap:anywhere; }
.ql-suggest-images { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.ql-suggest-images img { width:120px; height:90px; object-fit:cover; border:1px solid #e2e8f0; border-radius:12px; }
.ql-suggest-reply { margin-top:24px; border-top:1px solid #e2e8f0; padding-top:18px; }
.dark .ql-suggest-reply, .dark .ql-suggest-thumb img, .dark .ql-suggest-images img { border-color:#334155; }
.ql-suggest-reply h4 { display:flex; align-items:baseline; gap:10px; margin:0; font-size:16px; font-weight:650; }
.ql-suggest-reply h4 small { color:#64748b; font-size:12px; font-weight:500; }
.ql-suggest-reply .ql-suggest-body { margin-top:10px; border-radius:14px; padding:14px 16px; background:#f1f5f9; }
.dark .ql-suggest-reply .ql-suggest-body { background:#1a2638; }
.ql-suggest-detail-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
/* 「问题反馈」作为「产品授权」的第 6 个二级菜单：窄屏两列刚好排满，中等宽度允许换行。 */
@media (max-width:640px) { #member-license-panel .ql-member-license-tabs button:nth-child(6):last-child { grid-column:auto; } }
@media (min-width:641px) and (max-width:1023px) { #member-license-panel .ql-member-license-tabs { flex-wrap:wrap; gap:2px; } .ql-member-page #member-license-panel .ql-member-license-tabs button { flex:1 1 auto; padding:10px 8px; white-space:nowrap; } }
@media (max-width:640px) {
  .ql-suggest-grid { grid-template-columns:1fr; }
  .ql-suggest-form { padding:16px 18px 20px; }
  .ql-suggest-detail-body { padding:18px 18px 20px; }
  .ql-suggest-detail-actions > * { width:100%; }
  .ql-suggest-captcha { gap:8px; }
  .ql-member-page .ql-suggest-captcha-field input { width:96px; }
  .ql-suggest-captcha img { max-width:100px; object-fit:cover; }
  .ql-member-page .ql-suggest-captcha .ql-suggest-submit { padding:10px 16px; }
}

/* 公开 FAQ：桌面分类侧栏，手机分类标签；搜索及折叠行为保持原有数据标记。 */
.ql-faq-page .ql-faq-search { max-width:540px; margin-top:28px; }
.ql-faq-layout { display:grid; gap:36px; align-items:start; }
.ql-faq-categories { min-width:0; }
.ql-faq-category-title { margin:0 0 16px; color:#64748b; font-size:13px; font-weight:650; letter-spacing:.02em; }
.ql-faq-category-links { display:flex; flex-wrap:wrap; gap:10px; }
.ql-faq-page .ql-faq-chip { justify-content:space-between; gap:16px; padding:10px 16px; line-height:1.5; }
.ql-faq-results { min-width:0; }
.ql-faq-page .ql-faq-group { margin-top:40px; }
.ql-faq-page .ql-faq-group:first-child { margin-top:0; }
.ql-faq-page .ql-faq-group h2 { font-size:24px; letter-spacing:-.02em; line-height:1.4; }
.ql-faq-page .ql-faq-item summary { padding:20px 24px; }
.ql-faq-page .ql-faq-answer { padding:0 24px 24px; font-size:16px; }
.ql-faq-page .ql-faq-cta h2 { font-size:28px; }
.ql-faq-page .ql-faq-cta > div:first-child { max-width:640px; }
.ql-faq-page .ql-faq-cta-actions a { min-height:48px; border-radius:var(--ql-button-radius,999px); }
.dark .ql-faq-category-title { color:#94a3b8; }
@media (min-width:1024px) {
    .ql-faq-layout { grid-template-columns:224px minmax(0,1fr); gap:64px; }
    .ql-faq-layout-solo { grid-template-columns:1fr; }
    .ql-faq-categories { position:sticky; top:112px; }
    .ql-faq-category-links { flex-direction:column; }
    .ql-faq-page .ql-faq-chip { border-radius:14px; }
}
@media (max-width:1023px) {
    .ql-faq-page .ql-faq-cta { flex-direction:column; align-items:flex-start; }
    .ql-faq-page .ql-faq-cta-actions { flex-wrap:wrap; }
}
@media (max-width:639px) {
    .ql-faq-page .ql-faq-item summary { padding:16px 18px; }
    .ql-faq-page .ql-faq-answer { padding:0 18px 20px; font-size:15px; }
    .ql-faq-page .ql-faq-cta h2 { font-size:24px; }
}
