/* ===================================================================
   faq-new.css — FAQ V2 前台通用样式
   覆盖：faq-new.php（列表）+ faq-new-detail.php（详情）
   =================================================================== */

/* ===== 基础重置 ===== */
*, *::before, *::after { box-sizing: border-box; }
body { background: var(--bg, #F7F9FC); color: #0F1B2D; font-family: 'PingFang SC', 'Noto Sans SC', 'Microsoft YaHei', sans-serif; overflow-anchor: none; display: flex; flex-direction: column; min-height: 100vh; }
.logo-text { font-size: clamp(18px,1.458vw,28px); font-weight: 600; color: var(--ink,#0F1B2D); }
[v-cloak] { display: none !important; }

/* ===== 设计令牌 ===== */
:root {
    --fq-brand:    var(--brand, #1A5490);
    --fq-brand-lt: var(--brand-light, #2E7BC4);
    --fq-brand-dk: var(--brand-deep, #0E3A6C);
    --fq-warn:     var(--warn, #FF7A45);   /* 设计稿 $warn — 置顶/热门色 */
    --fq-accent:   var(--accent, #00C2B5);
    --fq-bg:       var(--bg, #F7F9FC);
    --fq-hero-bg:  var(--hero-bg, #ECEFF7);   /* 设计稿 Hero 背景（随品牌令牌换肤） */
    --fq-surface:  #FFFFFF;
    --fq-ink:      #0F1B2D;
    --fq-ink-2:    #4A5A72;
    --fq-ink-3:    #8A98AE;
    --fq-line:     #E6ECF3;
    --fq-tint:     var(--alt-bg, rgba(45,142,232,0.05));
    --fq-r:        12px;
    --fq-r-lg:     20px;
}

/* ─────────────────────────────────────────────
   一、列表页 (faq-new.php) 专属样式
   ───────────────────────────────────────────── */

/* ===== 分类 Tab 筛选栏 ===== */
.faq-filter-bar {
    background: var(--fq-surface);
    border-bottom: 1px solid var(--fq-line);
}
.faq-tabs {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 clamp(60px, 12.5vw, 240px);
    height: 72px;
}
.faq-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 18px;
    height: 36px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    color: var(--fq-ink-2);
    background: var(--fq-bg);
    border: 1px solid var(--fq-line);
    transition: background 0.18s, color 0.18s, box-shadow 0.18s, transform 0.15s;
    white-space: nowrap;
    cursor: pointer;
}
.faq-tab-icon { font-size: 12px; opacity: 0.7; }
.faq-tab:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(var(--brand-rgb, 26, 84, 144), 0.1); color: var(--fq-brand); }
.faq-tab:hover .faq-tab-icon { opacity: 1; }
.faq-tab.active {
    background: linear-gradient(135deg, var(--fq-brand), var(--fq-brand-lt));
    color: #fff;
    border-color: transparent;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.3);
}
.faq-tab.active .faq-tab-icon { opacity: 1; }

/* ===== 主内容区 ===== */
.faq-page-main {
    width: 100%;
    padding: 32px clamp(60px, 12.5vw, 240px) 56px;
    max-width: 1920px;
    margin: 0 auto;
}
.faq-content-wrap {
    max-width: 900px;
    margin: 0 auto;
}

/* ===== 搜索栏 ===== */
.faq-search-wrap { margin-bottom: 28px; }
.faq-search-bar {
    display: flex;
    align-items: center;
    background: var(--fq-surface);
    border: 1.5px solid var(--fq-line);
    border-radius: var(--fq-r);
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(var(--brand-rgb, 26, 84, 144), 0.06);
    transition: border-color 0.18s, box-shadow 0.18s;
}
.faq-search-bar:focus-within {
    border-color: var(--fq-brand-lt);
    box-shadow: 0 2px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.14);
}
.faq-search-icon {
    flex-shrink: 0;
    padding: 0 0 0 16px;
    font-size: 14px;
    color: var(--fq-ink-3);
    pointer-events: none;
}
.faq-search-input {
    flex: 1;
    height: 46px;
    border: none;
    outline: none;
    padding: 0 12px;
    font-size: 15px;
    color: var(--fq-ink);
    background: transparent;
    font-family: inherit;
}
.faq-search-input::placeholder { color: var(--fq-ink-3); }
.faq-search-clear {
    padding: 0 8px;
    font-size: 18px;
    color: var(--fq-ink-3);
    cursor: pointer;
    line-height: 1;
    user-select: none;
    flex-shrink: 0;
}
.faq-search-clear:hover { color: var(--fq-ink); }
.faq-search-btn {
    height: 46px;
    padding: 0 22px;
    background: var(--fq-brand);
    color: #fff;
    border: none;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.18s;
    flex-shrink: 0;
}
.faq-search-btn:hover { background: var(--fq-brand-lt); }
.faq-search-hint {
    margin: 10px 0 0;
    font-size: 13px;
    color: var(--fq-ink-3);
    min-height: 18px;
}
.faq-search-hint strong { color: var(--fq-brand); font-weight: 600; }

/* ===== 问题列表 ===== */
.faq-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 520px;
}
.faq-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: var(--fq-r);
    text-decoration: none;
    color: inherit;
    box-shadow: 0 1px 6px rgba(var(--brand-rgb, 26, 84, 144), 0.05);
    transition: background 0.18s, box-shadow 0.18s, border-color 0.18s, transform 0.15s;
}
.faq-item:hover {
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.03);
    border-color: rgba(var(--brand-rgb, 26, 84, 144), 0.2);
    box-shadow: 0 4px 16px rgba(var(--brand-rgb, 26, 84, 144), 0.09);
    transform: translateY(-1px);
}
.faq-item-badges { display: flex; align-items: center; gap: 6px; flex-shrink: 0; flex-wrap: wrap; }
.faq-top-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #FFF3CD;
    color: #B45309;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    white-space: nowrap;
}
.faq-cat-badge {
    display: inline-block;
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.09);
    color: var(--fq-brand);
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 6px;
    white-space: nowrap;
}
/* 彩色分类徽章（使用 category_meta 定义的颜色） */
.faq-cat-badge-colored {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 6px;
    white-space: nowrap;
}
.faq-cat-badge-colored i { font-size: 11px; opacity: 0.85; }
.faq-item-title {
    flex: 1;
    font-size: 16px;
    font-weight: 600;
    color: var(--fq-ink);
    line-height: 1.5;
}
.faq-item:hover .faq-item-title { color: var(--fq-brand); }
.faq-item-arrow {
    font-size: 20px;
    color: var(--fq-ink-3);
    flex-shrink: 0;
    transition: color 0.15s, transform 0.15s;
}
.faq-item:hover .faq-item-arrow { color: var(--fq-brand); transform: translateX(2px); }

/* 移动端分类下拉 */
.faq-mobile-cat-wrap { display: none; width: 100%; }
.faq-mobile-cat-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    height: 52px;
    background: var(--fq-brand);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
}
.faq-mobile-cat-icon { font-size: 12px; transition: transform 0.2s; }
.faq-mobile-cat-btn.open .faq-mobile-cat-icon { transform: rotate(180deg); }
.faq-mobile-cat-menu {
    background: #fff;
    border-bottom: 2px solid var(--fq-brand);
    box-shadow: 0 4px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.12);
}
.faq-mobile-cat-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 20px;
    font-size: 15px;
    color: var(--fq-ink-2);
    text-decoration: none;
    border-bottom: 1px solid var(--fq-line);
}
.faq-mobile-cat-icon-i { font-size: 13px; opacity: 0.7; flex-shrink: 0; }
.faq-mobile-cat-item:last-child { border-bottom: none; }
.faq-mobile-cat-item.active { color: var(--fq-brand); font-weight: 600; background: rgba(var(--brand-rgb, 26, 84, 144), 0.05); }
.faq-mobile-cat-item.active .faq-mobile-cat-icon-i { opacity: 1; }

/* ===== 空状态 ===== */
.faq-empty {
    text-align: center;
    padding: 72px 0;
    color: var(--fq-ink-3);
}
.faq-empty-icon { font-size: 3rem; margin-bottom: 16px; }
.faq-empty-text { font-size: 15px; }

/* ===== 分页 ===== */
.faq-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 36px;
    flex-wrap: wrap;
}
.faq-pagination a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 36px;
    height: 36px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    color: var(--fq-ink-2);
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    transition: background 0.18s, color 0.18s, border-color 0.18s;
    cursor: pointer;
    padding: 0 10px;
}
.faq-pagination a:hover:not(.active):not(.disabled) {
    background: var(--fq-bg);
    border-color: var(--fq-brand-lt);
    color: var(--fq-brand);
}
.faq-pagination a.active {
    background: var(--fq-brand);
    border-color: var(--fq-brand);
    color: #fff;
    font-weight: 600;
}
.faq-pagination a.disabled { color: var(--fq-line); pointer-events: none; }
.faq-pagination .dots-sep { color: var(--fq-ink-3); background: none; border: none; }

/* ─────────────────────────────────────────────
   二、详情页 (faq-new-detail.php) 专属样式
   ───────────────────────────────────────────── */

/* ===== 外层容器 ===== */
.faq-detail-page {
    width: 100%;
    padding: 32px clamp(60px, 12.5vw, 240px) 56px;
    max-width: 1920px;
    margin: 0 auto;
}
.faq-detail-layout {
    display: flex;
    gap: 28px;
    align-items: flex-start;
    max-width: 1440px;
    margin: 0 auto;
}

/* ===== 左侧边栏 ===== */
.faq-detail-sidebar {
    flex: 0 0 260px;
    width: 260px;
    min-width: 0;
    max-width: 260px;
    overflow: visible;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: sticky;
    top: 20px;
    align-self: flex-start;
    /* 顶部留出面包屑行高度，与右侧 faq-detail-header 顶部对齐 */
    padding-top: 37px;
}
.faq-sidebar-card {
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: var(--fq-r-lg);
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.06);
}
.faq-sidebar-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    font-weight: 700;
    color: var(--fq-ink-2);
    letter-spacing: 0.05em;
    padding: 12px 18px 10px;
    border-bottom: 1px solid var(--fq-line);
    text-transform: uppercase;
}
a.faq-sidebar-title--link {
    text-decoration: none;
    color: var(--fq-ink-2);
    cursor: pointer;
    transition: color 0.15s, background 0.15s;
}
a.faq-sidebar-title--link:hover {
    color: var(--fq-brand);
    background: var(--fq-bg);
}
.faq-sidebar-cat {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    font-size: 16px;
    font-weight: 500;
    color: #2D3D55;
    text-decoration: none;
    border-bottom: 1px solid var(--fq-line);
    transition: background 0.15s, color 0.15s, padding-left 0.15s;
}
.faq-sidebar-cat-icon { font-size: 12px; opacity: 0.6; flex-shrink: 0; width: 16px; text-align: center; }
.faq-sidebar-cat:last-child { border-bottom: none; }
.faq-sidebar-cat:hover { background: var(--fq-bg); color: var(--fq-brand); }
.faq-sidebar-cat:hover .faq-sidebar-cat-icon { opacity: 1; }
.faq-sidebar-cat.active {
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.06);
    color: var(--fq-brand);
    font-weight: 700;
    padding-left: 22px;
    border-left: 3px solid var(--fq-brand);
}
.faq-sidebar-cat.active .faq-sidebar-cat-icon { opacity: 1; }
.faq-related-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    font-size: 15px;
    color: #2D3D55;
    text-decoration: none;
    border-bottom: 1px solid var(--fq-line);
    line-height: 1.5;
    transition: background 0.15s, color 0.15s;
}
.faq-related-item:last-child { border-bottom: none; }
.faq-related-item:hover { background: var(--fq-bg); color: var(--fq-brand); }
.faq-related-item::before {
    content: '›';
    flex-shrink: 0;
    font-size: 16px;
    line-height: 1.4;
    color: var(--fq-ink-3);
}

/* ===== 主内容列 ===== */
.faq-detail-main {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    overflow-x: hidden;
}

/* 面包屑 */
.faq-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--fq-ink-2);
    flex-wrap: wrap;
}
.faq-breadcrumb a { color: var(--fq-brand); text-decoration: none; }
.faq-breadcrumb a:hover { text-decoration: underline; }
.faq-breadcrumb span { color: var(--fq-ink-3); }
.faq-breadcrumb span:last-child { color: var(--fq-ink); font-weight: 500; }

/* 详情页搜索框（sidebar） */
.faq-detail-search-wrap { position: relative; padding: 14px; width: 100%; box-sizing: border-box; }
.faq-detail-search {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    background: var(--fq-bg);
    border: 1.5px solid var(--fq-line);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(var(--brand-rgb, 26, 84, 144), 0.06);
    transition: border-color 0.18s, box-shadow 0.18s;
}
.faq-detail-search:focus-within {
    border-color: var(--fq-brand-lt);
    box-shadow: 0 0 0 3px rgba(13,138,114,0.10);
}
.faq-detail-search-icon {
    padding: 0 0 0 14px;
    color: var(--fq-ink-3);
    font-size: 14px;
    flex-shrink: 0;
}
.faq-detail-search-input {
    flex: 1;
    min-width: 0;
    height: 44px;
    border: none;
    outline: none;
    padding: 0 10px;
    font-size: 14px;
    color: var(--fq-ink);
    background: transparent;
    font-family: inherit;
}
.faq-detail-search-input::placeholder { color: var(--fq-ink-3); }
.faq-detail-search-btn {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--fq-brand);
    color: #fff;
    border: none;
    font-size: 15px;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.18s;
}
.faq-detail-search-btn:hover { background: var(--fq-brand-lt); }

/* 联想下拉 */
.faq-suggest-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    left: 0; right: 0;
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: 0 0 var(--fq-r) var(--fq-r);
    box-shadow: 0 6px 20px rgba(var(--brand-rgb, 26, 84, 144), 0.12);
    z-index: 300;
    max-height: 280px;
    overflow-y: auto;
    display: none;
}
.faq-suggest-dropdown.open { display: block; }
.faq-suggest-hint {
    padding: 10px 14px;
    font-size: 13px;
    color: var(--fq-ink-3);
}
.faq-suggest-item {
    padding: 11px 14px;
    font-size: 14px;
    color: var(--fq-ink);
    cursor: pointer;
    border-bottom: 1px solid var(--fq-line);
    transition: background 0.12s;
    line-height: 1.4;
}
.faq-suggest-item:last-child { border-bottom: none; }
.faq-suggest-item:hover, .faq-suggest-item.kbd-active {
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.06);
    color: var(--fq-brand);
}
.faq-suggest-cat-hint {
    font-size: 12px;
    color: var(--fq-ink-3);
    margin-left: 6px;
}
.faq-suggest-content-hint {
    display: inline-block;
    margin-left: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #b07800;
    background: rgba(245, 166, 35, 0.12);
    padding: 1px 8px;
    border-radius: 4px;
    white-space: nowrap;
}

/* 标题卡 */
.faq-detail-header {
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: var(--fq-r-lg);
    padding: 28px 36px;
    box-shadow: 0 2px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.06);
}
.faq-detail-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--fq-ink);
    margin: 0 0 14px;
    line-height: 1.4;
}
.faq-detail-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 13px;
    color: var(--fq-ink-3);
    padding-top: 12px;
    border-top: 1px solid var(--fq-line);
}
/* 彩色分类徽章（inline style 注入颜色） */
.faq-detail-cat-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 11px;
    border-radius: 6px;
}
.faq-top-pin {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #B45309;
    font-weight: 600;
    font-size: 13px;
    line-height: 1;
    vertical-align: middle;
}
.faq-top-pin i { font-size: 13px; line-height: 1; }

/* 正文卡 */
.faq-detail-body {
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: var(--fq-r-lg);
    padding: 36px 36px;
    box-shadow: 0 2px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.06);
    min-height: 320px;
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
}

/* ===== 通用说明区 ===== */
.faq-common-section {
    margin-bottom: 24px;
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.028);
    border: 1px solid var(--fq-line);
    border-left: 3px solid var(--fq-brand-lt);
    border-radius: 0 var(--fq-r) var(--fq-r) 0;
    padding: 12px 22px;
    min-width: 0;
    max-width: 100%;
}
.faq-common-label {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    color: var(--fq-brand);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 14px;
}
.faq-common-icon { font-size: 13px; }

/* ===== 客户端 Tab ===== */
.faq-client-tabs-wrap {
    margin-bottom: 0;
}
.faq-client-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--fq-line);
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-bottom: 16px;
}
.faq-client-tabs::-webkit-scrollbar { display: none; }
.client-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 500;
    color: var(--fq-ink-3);
    border: none;
    background: transparent;
    border-radius: 0;
    cursor: pointer;
    transition: color 0.18s, background 0.18s;
    white-space: nowrap;
    position: relative;
    bottom: -2px;
    border-bottom: 2px solid transparent;
}
.client-tab-icon { font-size: 13px; opacity: 0.6; }
.client-tab:hover {
    color: var(--fq-ink-2);
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.03);
}
.client-tab:hover .client-tab-icon { opacity: 0.9; }
.client-tab.active {
    color: var(--fq-brand);
    background: rgba(13,138,114,0.04);
    font-weight: 700;
    border-bottom-color: var(--fq-brand);
}
.client-tab.active .client-tab-icon { opacity: 1; }
.faq-client-panels { padding-top: 0; min-width: 0; max-width: 100%; }
.client-panel { display: none; min-width: 0; max-width: 100%; }
.client-panel.active { display: block; }

/* 通用区 / 分端 Tab：各小节末尾去掉多余下边距，与容器 padding 对齐 */
.faq-detail-body .faq-content > :last-child {
    margin-bottom: 0;
}
.faq-detail-body .faq-section-block:last-child .steps-carousel {
    margin-bottom: 0;
}

/* ===== 小节标题 ===== */
.faq-section-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--fq-ink);
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--fq-line);
    line-height: 1.4;
}
.faq-section-block { margin-bottom: 28px; min-width: 0; max-width: 100%; }
.faq-section-block:last-child { margin-bottom: 0; }

/* ===== 富文本内容 ===== */
.faq-content {
    font-size: 16px;
    line-height: 1.8;
    color: var(--fq-ink-2);
    overflow-wrap: break-word;
    word-break: break-word;
    min-width: 0;
    max-width: 100%;
}
.faq-content h1,.faq-content h2,.faq-content h3,
.faq-content h4,.faq-content h5,.faq-content h6 {
    margin: 1.5em 0 0.7em;
    line-height: 1.4;
    font-weight: 700;
    color: var(--fq-ink);
}
.faq-content h1 { font-size: 1.6em; }
.faq-content h2 { font-size: 1.4em; }
.faq-content h3 { font-size: 1.2em; }
.faq-content h4 { font-size: 1.1em; }
.faq-content p { margin: 0 0 1.1em; }
.faq-content ul, .faq-content ol { margin: 0 0 1.1em; padding-left: 28px; }
.faq-content ul { list-style-type: disc; }
.faq-content ol { list-style-type: decimal; }
.faq-content li { margin-bottom: 0.4em; }
.faq-content a { color: var(--fq-brand-lt); text-decoration: underline; }
.faq-content a:hover { color: var(--fq-brand); }
.faq-content strong, .faq-content b { font-weight: 700; color: var(--fq-ink); }
.faq-content em, .faq-content i { font-style: italic; }
.faq-content blockquote {
    margin: 1.2em 0;
    padding: 12px 18px;
    border-left: 4px solid var(--fq-brand-lt);
    background: var(--fq-bg);
    border-radius: 0 8px 8px 0;
    color: var(--fq-ink-2);
    font-style: italic;
}
.faq-content blockquote p:last-child { margin-bottom: 0; }
.faq-content hr { border: 0; border-top: 1px solid var(--fq-line); margin: 2em 0; }
.faq-content code {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.9em;
    background: var(--fq-bg);
    border: 1px solid var(--fq-line);
    padding: 0.15em 0.4em;
    border-radius: 4px;
    color: #c2185b;
}
.faq-content pre {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    font-size: 0.9em;
    background: var(--fq-bg);
    border: 1px solid var(--fq-line);
    border-radius: 8px;
    padding: 16px 20px;
    overflow-x: auto;
    max-width: 100%;
    line-height: 1.6;
    margin: 1em 0 1.4em;
    color: var(--fq-ink);
}
.faq-content pre code { background: none; border: none; padding: 0; color: inherit; font-size: 1em; }
.faq-content img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 20px auto;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}
.faq-content video,
.faq-content iframe {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1em auto;
    border-radius: 8px;
}
.faq-content table {
    width: 100%;
    margin: 1.2em 0;
    border-collapse: collapse;
    border: 1px solid var(--fq-line);
    font-size: 0.95em;
}
.faq-content table th,
.faq-content table td {
    padding: 10px 14px;
    border: 1px solid var(--fq-line);
    text-align: left;
    vertical-align: top;
}
.faq-content table th {
    background: var(--fq-bg);
    font-weight: 700;
    color: var(--fq-ink);
}
.faq-content table tr:nth-child(even) { background: rgba(247,249,252,0.6); }
.table-responsive-wrapper {
    overflow-x: auto;
    max-width: 100%;
    min-width: 0;
    margin: 1.2em 0;
    border: 1px solid var(--fq-line);
    border-radius: 8px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--fq-brand) var(--fq-bg);
}
.table-responsive-wrapper::-webkit-scrollbar { height: 8px; }
.table-responsive-wrapper::-webkit-scrollbar-track { background: var(--fq-bg); border-radius: 4px; }
.table-responsive-wrapper::-webkit-scrollbar-thumb { background: var(--fq-brand); border-radius: 4px; }

/* ===== 步骤图册 (steps-carousel) ===== */
.steps-carousel {
    position: relative;
    overflow: hidden;
    border-radius: var(--fq-r);
    border: 1px solid var(--fq-line);
    background: var(--fq-bg);
    margin: 12px 0 20px;
}
.steps-track {
    display: flex;
    transition: transform 0.32s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}
.step-slide {
    flex: 0 0 100%;
    min-width: 0;
    position: relative;
    padding: 48px 28px 12px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 504px;
    box-sizing: border-box;
}
.step-number {
    position: absolute;
    top: 16px;
    left: 28px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
}
.step-media {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    width: 100%;
}
.step-num-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--fq-brand), var(--fq-brand-lt));
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    flex-shrink: 0;
}
/* steps-dots 进度点 */
.steps-dots {
    display: flex;
    align-items: center;
    gap: 6px;
}
.steps-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--fq-line);
    transition: width 0.2s, background 0.2s;
    cursor: pointer;
}
.steps-dot.active {
    width: 22px;
    border-radius: 4px;
    background: var(--fq-brand);
}
.step-slide img {
    display: block;
    max-width: 100%;
    max-height: 440px;
    width: auto;
    height: auto;
    border-radius: 8px;
    object-fit: contain;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    margin: 0;
}
.step-caption {
    flex-shrink: 0;
    font-size: 15px;
    color: var(--fq-ink-2);
    line-height: 1.6;
    text-align: center;
    margin: 0 auto;
    padding-top: 12px;
    max-width: 600px;
}
.steps-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 20px;
    background: var(--fq-surface);
}
.btn-step-prev,
.btn-step-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.92);
    color: var(--fq-ink);
    font-size: 18px;
    cursor: pointer;
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    transition: background 0.18s, color 0.18s, box-shadow 0.18s;
    line-height: 1;
}
.btn-step-prev { left: 12px; }
.btn-step-next { right: 12px; }
.btn-step-prev:hover,
.btn-step-next:hover {
    background: var(--fq-brand);
    color: #fff;
    box-shadow: 0 4px 16px rgba(var(--brand-rgb, 26, 84, 144), 0.25);
}
.btn-step-prev:disabled,
.btn-step-next:disabled {
    opacity: 0.3;
    cursor: default;
    pointer-events: none;
}
/* 顶部居中进度文字 */
.steps-header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px 0;
    background: var(--fq-bg);
}
.steps-indicator {
    font-size: 13px;
    font-weight: 600;
    color: var(--fq-ink-3);
    background: var(--fq-line);
    padding: 2px 10px;
    border-radius: 20px;
    letter-spacing: 0.04em;
}

/* 底部返回按钮 */
.faq-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.07);
    color: var(--fq-brand);
    border: 1px solid rgba(var(--brand-rgb, 26, 84, 144), 0.18);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.18s, transform 0.15s;
    align-self: flex-start;
}
.faq-back-btn:hover { background: rgba(var(--brand-rgb, 26, 84, 144), 0.12); transform: translateY(-1px); color: var(--fq-brand); }

/* ===== 空状态 / 404 ===== */
.faq-not-found {
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: var(--fq-r-lg);
    padding: 80px 40px;
    text-align: center;
    color: var(--fq-ink-3);
}
.faq-not-found p { font-size: 15px; margin: 12px 0 24px; }

/* ===== 移动端手风琴（详情页 <900px 可见） ===== */
.faq-mobile-accordion { display: none; }
.faq-mobile-accordion > div { margin-bottom: 8px; }
.faq-mobile-accordion > div:last-child { margin-bottom: 0; }
.faq-acc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: var(--fq-brand);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    border-radius: 8px;
    cursor: pointer;
    user-select: none;
    min-height: 44px;
}
.faq-acc-icon { transition: transform 0.3s; font-style: normal; }
.faq-acc-header.open .faq-acc-icon { transform: rotate(180deg); }
.faq-acc-body {
    display: none;
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-top: none;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
    margin-bottom: 12px;
}
.faq-acc-body.open { display: block; }

/* ─────────────────────────────────────────────
   三、响应式
   ───────────────────────────────────────────── */

/* 列表页响应式 */
@media (max-width: 1400px) {
    /* 水平 padding 由 clamp() 自动插值，仅收缩垂直方向 */
    .faq-page-main { padding-top: 24px; padding-bottom: 48px; }
}
@media (max-width: 1024px) {
    .faq-tabs { gap: 8px; }
    .faq-page-main { padding-top: 20px; padding-bottom: 40px; }
}
@media (max-width: 767px) {
    .faq-filter-bar { position: sticky; top: 0; z-index: 100; }
    .faq-tabs-desktop { display: none; }
    .faq-mobile-cat-wrap { display: block; }
    .faq-page-main { padding: 16px 12px 40px; }
    .faq-search-input { font-size: 14px; height: 42px; }
    .faq-search-btn { height: 42px; padding: 0 16px; font-size: 14px; }
    .faq-search-icon { font-size: 13px; padding-left: 12px; }
    .faq-item { padding: 14px 14px; gap: 10px; }
    .faq-item-title { font-size: 15px; }
}

/* 详情页响应式 */
@media (max-width: 1400px) {
    /* 水平 padding 由 clamp() 自动插值，仅收缩垂直方向 */
    .faq-detail-page { padding-top: 24px; padding-bottom: 48px; }
}
@media (max-width: 1100px) {
    .faq-detail-page { padding-top: 20px; padding-bottom: 40px; }
    .faq-detail-sidebar { flex: 0 0 190px; }
}
@media (max-width: 900px) {
    .faq-detail-page { padding: 20px 16px 40px; }
    .faq-detail-layout {
        flex-direction: column;
        gap: 16px;
        overflow-x: hidden; /* 移动端防止子项撑宽页面 */
        max-width: 100%;
    }
    .faq-detail-main {
        max-width: 100%;
        width: 100%; /* 列布局时撑满父容器 */
        overflow-x: hidden;
    }
    .faq-detail-sidebar { display: none; }
    .faq-mobile-accordion { display: block; margin-top: 0; }
    .faq-detail-header { padding: 20px 18px; }
    .faq-detail-title { font-size: 18px; }
    .faq-detail-body { padding: 20px 16px; overflow-x: hidden; }
    .faq-common-section { overflow-x: hidden; }
    .faq-content { font-size: 15px; overflow-x: hidden; }
    /* wangEditor inline 图片宽度强制重置 */
    .faq-content img,
    .faq-content img[style] {
        max-width: 100% !important;
        height: auto !important;
        width: auto !important;
    }
    /* 宽表格：由外层 .table-responsive-wrapper 统一横滑，table 自身不再单独滚动 */
    .faq-content table {
        min-width: 460px;
        font-size: 0.85em;
    }
    .faq-content table th, .faq-content table td { padding: 8px 8px; white-space: nowrap; }
    /* 移动端 client tab 可横滑 */
    .faq-client-tabs {
        overflow-x: auto;
        white-space: nowrap;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    .client-tab { padding: 10px 14px; }
    /* 步骤图册移动端：固定视口高度 + 说明文字钉底 */
    .step-slide {
        min-height: 348px;
        padding: 44px 16px 10px;
    }
    .step-number { top: 12px; left: 16px; }
    .step-slide img { max-height: 280px; }
    .step-caption { font-size: 15px; }
    /* 步骤图册：移动端加大切换按钮（≥48dp 热区，主流相册交互） */
    .btn-step-prev,
    .btn-step-next {
        width: 56px;
        height: 56px;
        font-size: 22px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 2px 16px rgba(0, 0, 0, 0.18);
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }
    .btn-step-prev { left: 4px; }
    .btn-step-next { right: 4px; }
    .btn-step-prev::after,
    .btn-step-next::after {
        content: '';
        position: absolute;
        inset: -10px; /* 向内扩展热区（carousel overflow:hidden 会裁切外侧） */
        border-radius: 50%;
    }
    .btn-step-prev:active,
    .btn-step-next:active {
        background: var(--fq-brand);
        color: #fff;
    }
    /* 通用说明移动端 */
    .faq-common-section { padding: 12px 16px; }
}
@media (max-width: 600px) {
    .faq-detail-page { padding: 12px 12px 40px; }
    .faq-breadcrumb { font-size: 12px; }
    .faq-back-btn { align-self: center; }
    .steps-nav { padding: 10px 12px; }
}

/* ===== 详情页手风琴末尾搜索框（对标老版 faq-detail-search 风格）===== */
.faq-acc-search-wrap {
    display: none; /* 由 900px 媒体查询控制显示 */
    position: relative;
}
.faq-acc-search-bar {
    display: flex;
    align-items: center;
    background: var(--fq-surface);
    border: 1.5px solid var(--fq-line);
    border-radius: var(--fq-r);
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(var(--brand-rgb, 26, 84, 144), 0.06);
    transition: border-color 0.18s, box-shadow 0.18s;
}
.faq-acc-search-bar:focus-within {
    border-color: var(--fq-brand-lt);
    box-shadow: 0 2px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.13);
}
.faq-acc-search-input {
    flex: 1;
    height: 42px;
    border: none;
    outline: none;
    padding: 0 14px;
    font-size: 14px;
    color: var(--fq-ink);
    background: transparent;
    font-family: inherit;
}
.faq-acc-search-input::placeholder { color: var(--fq-ink-3); }
.faq-acc-search-btn {
    height: 42px;
    padding: 0 18px;
    background: var(--fq-brand);
    color: #fff;
    border: none;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.18s;
    flex-shrink: 0;
}
.faq-acc-search-btn:hover { background: var(--fq-brand-lt); }
/* 联想下拉 */
.faq-acc-search-wrap .faq-suggest-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    left: 0; right: 0;
    border-radius: 0 0 var(--fq-r) var(--fq-r);
    z-index: 300;
}

/* 详情页移动端：手风琴末尾搜索框显示 + 手风琴与下方面包屑间距 */
@media (max-width: 900px) {
    .faq-acc-search-wrap { display: block; }
    .faq-mobile-accordion { margin-bottom: 8px; }
}

/* ─────────────────────────────────────────────
   四、新版列表页 — Hero / PinSection / CatSection / BrowseSection
   （设计稿 nQOJv，2026-06-21）
   ───────────────────────────────────────────── */

/* ===== 公共区块内层容器（与导航对齐，水平 padding 同步 nav 的 clamp） ===== */
.faq-section-inner {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 clamp(60px, 12.5vw, 240px);
}
.faq-section-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.faq-section-hd-left {
    display: flex;
    align-items: center;
    gap: 8px;
}
.faq-section-hd-icon { font-size: 18px; }
.faq-section-hd-title {
    font-size: 19px;
    font-weight: 700;
    color: var(--fq-ink);
    font-family: 'HarmonyOS Sans SC', 'PingFang SC', sans-serif;
}
.faq-section-hd-hint {
    font-size: 13px;
    color: var(--fq-ink-3);
}

/* ===== Hero 区（设计稿：#ECEFF7 底 / 居中大搜索框 / chips） ===== */
.faq-hero {
    background: var(--fq-hero-bg);
    padding: 20px 40px 20px;
}
.faq-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    max-width: 1440px;
    margin: 0 auto;
}
.faq-hero-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--fq-ink);
    margin: 0;
    font-family: 'HarmonyOS Sans SC', 'PingFang SC', sans-serif;
}
.faq-hero-search-wrap {
    position: relative;
    width: 760px;
    max-width: 100%;
}
.faq-hero-search-wrap .faq-suggest-dropdown {
    border-radius: 0 0 14px 14px;
    z-index: 400;
    max-height: 320px;
}
.faq-hero-search-wrap:has(.faq-suggest-dropdown.open) .faq-hero-search-bar {
    border-radius: 14px 14px 0 0;
    border-bottom-color: transparent;
}
.faq-hero-search-bar {
    display: flex;
    align-items: center;
    width: 100%;
    height: 58px;
    background: var(--fq-surface);
    border-radius: 14px;
    padding: 0 8px 0 20px;
    gap: 10px;
    box-shadow: 0 2px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.10);
    border: 1.5px solid var(--fq-line);
    transition: border-color 0.18s, box-shadow 0.18s;
}
.faq-hero-search-bar:focus-within {
    border-color: var(--fq-brand-lt);
    box-shadow: 0 2px 20px rgba(var(--brand-rgb, 26, 84, 144), 0.18);
}
.faq-hero-search-icon {
    font-size: 16px;
    color: var(--fq-ink-3);
    flex-shrink: 0;
}
.faq-hero-search-input {
    flex: 1;
    height: 100%;
    border: none;
    outline: none;
    font-size: 15px;
    color: var(--fq-ink);
    background: transparent;
    font-family: inherit;
}
.faq-hero-search-input::placeholder { color: var(--fq-ink-3); }
.faq-hero-search-btn {
    height: 42px;
    padding: 0 26px;
    background: var(--fq-brand);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.18s;
    flex-shrink: 0;
}
.faq-hero-search-btn:hover { background: var(--fq-brand-lt); }
.faq-hero-chips {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}
.faq-hero-chip {
    display: inline-flex;
    align-items: center;
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.094);
    color: var(--fq-brand);
    font-size: 13px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: 16px;
    cursor: pointer;
    transition: background 0.15s, transform 0.12s;
    user-select: none;
}
.faq-hero-chip:hover {
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.16);
    transform: translateY(-1px);
}

/* ===== PinSection（热门问题横滑，设计稿 flame + 橙标签） ===== */
.faq-pin-section { padding: 20px 0 12px; }
.faq-pin-slide-outer {
    position: relative;
}
.faq-pin-track-wrap {
    overflow: hidden;
    width: 100%;
    cursor: grab;
}
.faq-pin-track-wrap:active { cursor: grabbing; }
/* 左右滑动指示箭头 */
.faq-pin-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--fq-line);
    box-shadow: 0 2px 10px rgba(0,0,0,0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--fq-brand);
    font-size: 14px;
    transition: box-shadow 0.18s, background 0.15s, opacity 0.2s;
    pointer-events: auto;
}
.faq-pin-arrow:hover { background: var(--fq-brand); color: #fff; box-shadow: 0 4px 16px rgba(var(--brand-rgb, 26, 84, 144), 0.2); }
.faq-pin-arrow.arrow-left  { left: 8px; }
.faq-pin-arrow.arrow-right { right: 8px; }
.faq-pin-arrow.hidden { opacity: 0; pointer-events: none; }
.faq-pin-track {
    display: flex;
    gap: 0;
    transition: transform 0.32s cubic-bezier(.4,0,.2,1);
    will-change: transform;
}
.faq-pin-page {
    flex: none;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 10px;
}
.faq-pin-card {
    height: 48px;
    min-width: 0;
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-left: 3px solid var(--fq-warn);
    border-radius: 10px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: box-shadow 0.18s, transform 0.15s, border-color 0.18s;
}
.faq-pin-card:hover {
    box-shadow: 0 4px 16px rgba(var(--brand-rgb, 26, 84, 144), 0.10);
    border-color: var(--fq-warn);
    transform: translateY(-2px);
}
.faq-pin-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--fq-ink);
    line-height: 1.4;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    min-width: 0;
}
.faq-pin-title-icon {
    color: var(--fq-warn);
    font-size: 12px;
    margin-right: 7px;
    flex-shrink: 0;
    vertical-align: middle;
    position: relative;
    top: -1px;
}
.faq-pin-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}
.faq-pin-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    color: var(--fq-ink-3);
    font-size: 13px;
    cursor: pointer;
    border-radius: 50%;
    transition: background 0.15s, color 0.15s;
}
.faq-pin-nav-btn:hover:not(:disabled) { background: var(--fq-bg); color: var(--fq-brand); }
.faq-pin-nav-btn:disabled { opacity: 0.3; cursor: default; }
.faq-pin-dots { display: flex; align-items: center; gap: 6px; }
.faq-pin-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--fq-line);
    cursor: pointer;
    transition: width 0.2s, background 0.2s, border-radius 0.2s;
}
.faq-pin-dot.active {
    width: 16px;
    border-radius: 2px;
    background: var(--fq-brand);
}

/* ===== CatSection（分类总览网格，设计稿图标盒 + 3条问题） ===== */
.faq-cat-overview { padding: 0 0 52px; }
.faq-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.faq-cat-card {
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.18s, transform 0.15s;
}
.faq-cat-card:hover {
    box-shadow: 0 4px 16px rgba(var(--brand-rgb, 26, 84, 144), 0.09);
    transform: translateY(-2px);
}
.faq-cat-card-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 16px;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
}
.faq-cat-card-hd:hover { background: rgba(var(--brand-rgb, 26, 84, 144), 0.04); }
.faq-cat-card-hd-left { display: flex; align-items: center; gap: 9px; }
.faq-cat-card-icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    flex-shrink: 0;
}
.faq-cat-card-icon-box i { font-size: 14px; }
.faq-cat-card-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--fq-ink);
    font-family: 'HarmonyOS Sans SC', 'PingFang SC', sans-serif;
}
.faq-cat-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: none;
    border: none;
    font-size: 12px;
    font-weight: 400;
    color: var(--fq-ink-3);
    cursor: pointer;
    padding: 0;
    font-family: inherit;
    white-space: nowrap;
    transition: color 0.15s;
}
.faq-cat-more-btn:hover { color: var(--fq-brand); }
.faq-cat-more-btn i { font-size: 10px; }
.faq-cat-card-divider { height: 1px; background: var(--fq-line); }
.faq-cat-card-list {
    list-style: none;
    margin: 0;
    padding: 10px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.faq-cat-card-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
}
.faq-cat-card-dot {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--fq-brand);
    flex-shrink: 0;
}
.faq-cat-card-link {
    font-size: 15px;
    color: var(--fq-ink);
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.15s;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.faq-cat-card-link:hover { color: var(--fq-brand); }
.faq-cat-card-empty { font-size: 13px; color: var(--fq-ink-3); padding: 6px 0; }

/* ===== CTA 联系客服条（设计稿 VoSFR：淡蓝底 + 品牌边框 + 右侧按钮）===== */
.faq-cta-bar {
    margin-top: 24px;
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.051);
    border: 1px solid var(--fq-brand);
    border-radius: 14px;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.faq-cta-bar-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}
.faq-cta-icon {
    font-size: 20px;
    color: var(--fq-brand);
    flex-shrink: 0;
}
.faq-cta-bar-left span {
    font-size: 15px;
    font-weight: 500;
    color: var(--fq-ink);
    line-height: 1.5;
}
.faq-cta-btn {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    background: var(--fq-brand);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 11px 24px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.18s, transform 0.15s;
    white-space: nowrap;
}
.faq-cta-btn:hover { background: var(--fq-brand-lt); transform: translateY(-1px); color: #fff; }

/* ===== BrowseSection（全部问题区） ===== */
.faq-browse-anchor { scroll-margin-top: 16px; }
.faq-browse-section { padding-bottom: 56px; }
/* 默认隐藏，点击"查看更多"/搜索后由 JS 移除此 class */
.faq-browse-section.faq-browse-hidden { display: none; }
.faq-browse-mobile-cat { display: none; }
.faq-browse-inner { padding-top: 0; padding-bottom: 0; }
.faq-browse-hd {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px;
    padding: 24px 0 16px;
}
/* 在 BrowseSection 内 Tab 左对齐，覆盖旧 filter-bar 居中 */
.faq-browse-hd .faq-tabs {
    justify-content: flex-start;
    padding: 0;
    height: auto;
    max-width: none;
    margin: 0;
    flex-wrap: wrap;
}
/* 旧结构（filter-bar / faq-page-main）在新版页面中隐藏 */
.faq-filter-bar { display: none !important; }
.faq-page-main  { display: none !important; }

/* ===== 响应式：新版区块 ===== */
@media (max-width: 1400px) {
    .faq-section-inner { padding: 0 60px; }
    .faq-hero { padding: 24px 60px 18px; }
}
@media (max-width: 1024px) {
    .faq-section-inner { padding: 0 24px; }
    .faq-hero { padding: 20px 24px 16px; }
    .faq-cat-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}
@media (max-width: 767px) {
    .faq-section-inner { padding: 0 16px; }
    .faq-hero { padding: 20px 16px 14px; }
    .faq-hero-search-bar { height: 52px; }
    .faq-hero-search-btn { height: 38px; padding: 0 18px; font-size: 14px; }
    .faq-hero-title { font-size: 18px; }
    .faq-cat-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .faq-cat-card-name { font-size: 13px; }
    /* 热门卡片：移动端 2×2 grid，每页 4 个 */
    .faq-pin-page {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, auto);
        gap: 8px;
    }
    .faq-pin-card {
        height: 48px;
        min-height: 48px;
        padding: 0 12px;
        flex: unset;
        display: flex;
        align-items: center;
    }
    .faq-pin-title {
        font-size: 13px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1;
    }
    .faq-pin-arrow { display: none; } /* 移动端隐藏箭头，用手势/点翻页 */
    .faq-browse-mobile-cat { display: block; padding: 0 16px 10px; }
    .faq-browse-hd .faq-tabs-desktop { display: none; }
    /* CTA 垂直堆叠 */
    .faq-cta-bar { flex-direction: column; align-items: flex-start; gap: 12px; }
    .faq-cta-btn { align-self: stretch; justify-content: center; }
}

/* 移动端分类/搜索结果页：Hero 区完全隐藏（搜索框移入 list-inner 内） */
@media (max-width: 900px) {
    .faq-hero--result { display: none; }
}

/* ===== 移动端搜索框（list 页 + 详情页手风琴内）===== */
.faq-mobile-search-wrap {
    display: none;
    position: relative;
    width: 100%;
}
/* list 页搜索框：内容区内有 padding，搜索框本身正常圆角 */
.faq-list-inner .faq-mobile-search-wrap {
    padding: 12px 16px 0;
    box-sizing: border-box;
}
.faq-mobile-search-bar {
    display: flex;
    align-items: center;
    background: var(--fq-surface);
    border: 1.5px solid var(--fq-line);
    border-radius: var(--fq-r);
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(var(--brand-rgb, 26, 84, 144), 0.06);
    transition: border-color 0.18s, box-shadow 0.18s;
}
.faq-mobile-search-bar:focus-within {
    border-color: var(--fq-brand-lt);
    box-shadow: 0 2px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.13);
}
.faq-mobile-search-icon {
    flex-shrink: 0;
    padding: 0 0 0 16px;
    font-size: 14px;
    color: var(--fq-ink-3);
    pointer-events: none;
}
.faq-mobile-search-input {
    flex: 1;
    height: 46px;
    border: none;
    outline: none;
    padding: 0 10px;
    font-size: 15px;
    color: var(--fq-ink);
    background: transparent;
    font-family: inherit;
}
.faq-mobile-search-input::placeholder { color: var(--fq-ink-3); }
.faq-mobile-search-btn {
    height: 46px;
    padding: 0 20px;
    background: var(--fq-brand);
    color: #fff;
    border: none;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.18s;
    flex-shrink: 0;
}
.faq-mobile-search-btn:hover { background: var(--fq-brand-lt); }

/* 联想下拉在搜索框内 */
.faq-mobile-search-wrap .faq-suggest-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    left: 0; right: 0;
    border-radius: 0 0 var(--fq-r) var(--fq-r);
    z-index: 300;
}
/* list 页联想下拉需要补偿 wrap 的 padding */
.faq-list-inner .faq-mobile-search-wrap .faq-suggest-dropdown {
    left: 16px; right: 16px;
}

@media (max-width: 900px) {
    .faq-list-inner .faq-mobile-search-wrap { display: block; }
    .faq-mobile-accordion .faq-mobile-search-wrap { display: block; }
    /* 手风琴里搜索框（末尾）有上边距 */
    .faq-acc-search { margin-top: 4px; padding: 0 0 4px; }
    .faq-acc-search .faq-mobile-search-bar { border-radius: var(--fq-r); }
}

/* ===== 移动端分类下拉图标盒子（彩色背景小方块，对标 sidebar 详情页风格）===== */
.faq-mobile-cat-opt .faq-mob-icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    flex-shrink: 0;
}
.faq-mobile-cat-opt .faq-mob-icon-box i {
    font-size: 12px;
}
@media (max-width: 480px) {
    .faq-cat-grid { grid-template-columns: 1fr; }
    .faq-hero-chips { gap: 8px; }
}

/* ─────────────────────────────────────────────
   五、模式B/C 两列布局（分类详情 / 搜索结果）
   设计稿 CkDh3 / XXxe5
   ───────────────────────────────────────────── */

/* 外层 section */
.faq-list-page {
    padding: 32px 0 48px;
    flex: 1 0 auto; /* sticky footer：结果/分类条目少时撑满剩余高度，页脚贴底，消除底部白条 */
}

/* 内层两列容器（设计稿：左右 padding=240，gap=32，侧边栏 width=280） */
.faq-list-inner {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 clamp(60px, 12.5vw, 240px);
}

/* 左主栏 */
.faq-list-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* meta 行：总数 + 面包屑 */
.faq-list-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding-bottom: 4px;
}
.faq-list-meta-count {
    font-size: 14px;
    font-weight: 600;
    color: var(--fq-ink);
}
.faq-list-meta-sep {
    font-size: 14px;
    color: var(--fq-ink-3);
}
.faq-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--fq-ink-2);
    flex-wrap: wrap;
}
.faq-bc-link {
    color: var(--fq-brand);
    text-decoration: none;
}
.faq-bc-link:hover { text-decoration: underline; }
.faq-bc-sep { color: var(--fq-ink-3); }
.faq-bc-cur { color: var(--fq-ink); font-weight: 500; }

/* ===== 分类详情：卡片网格（CkDh3 card-grid，每行2列） ===== */
.faq-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.faq-q-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 10px 16px;
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.18s, border-color 0.18s, transform 0.15s;
    min-height: 64px;
}
.faq-q-card:hover {
    box-shadow: 0 4px 16px rgba(var(--brand-rgb, 26, 84, 144), 0.09);
    border-color: rgba(var(--brand-rgb, 26, 84, 144), 0.22);
    transform: translateY(-2px);
}
.faq-q-card-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--fq-ink);
    line-height: 1.5;
}
.faq-q-card:hover .faq-q-card-title { color: var(--fq-brand); }
.faq-q-card.is-hot {
    border-left: 3px solid var(--fq-warn);
}
.faq-q-card-hot {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--fq-warn);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
    margin-left: 6px;
    position: relative;
    top: -1px;
}
.faq-q-card-hot i { font-size: 10px; }

/* ===== 搜索结果：列表行（XXxe5 result-item） ===== */
.faq-result-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.faq-result-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    margin-bottom: 10px;
    transition: background 0.18s, box-shadow 0.18s, border-color 0.18s, transform 0.15s;
}
.faq-result-item:last-child { margin-bottom: 0; }
.faq-result-item:hover {
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.03);
    border-color: rgba(var(--brand-rgb, 26, 84, 144), 0.2);
    box-shadow: 0 4px 16px rgba(var(--brand-rgb, 26, 84, 144), 0.08);
    transform: translateY(-1px);
}
/* 分类徽章（圆角20，品牌色系背景+字色） */
.faq-result-cat-badge {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    white-space: nowrap;
}
.faq-result-item-info {
    flex: 1;
    min-width: 0;
}
.faq-result-item-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--fq-ink);
    line-height: 1.5;
}
.faq-result-content-hint {
    display: inline-block;
    margin-left: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #b07800;
    background: rgba(245, 166, 35, 0.12);
    padding: 2px 8px;
    border-radius: 4px;
    vertical-align: middle;
    white-space: nowrap;
}
.faq-result-item:hover .faq-result-item-title { color: var(--fq-brand); }
.faq-result-item-hint {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    font-weight: 600;
    color: var(--fq-warn);
    vertical-align: middle;
    margin-left: 6px;
    position: relative;
    top: -1px;
    white-space: nowrap;
}
.faq-result-item-arrow {
    font-size: 14px;
    color: var(--fq-ink-3);
    flex-shrink: 0;
    transition: color 0.15s, transform 0.15s;
}
.faq-result-item:hover .faq-result-item-arrow { color: var(--fq-brand); transform: translateX(2px); }

/* 空状态（模式B/C） */
.faq-list-empty {
    text-align: center;
    padding: 72px 0;
    color: var(--fq-ink-3);
}
.faq-list-empty-icon {
    font-size: 2.8rem;
    margin-bottom: 16px;
    display: block;
    color: var(--fq-ink-3);
}
.faq-list-empty p { font-size: 15px; margin: 0 0 8px; }
.faq-list-empty p strong { color: var(--fq-ink); }
.faq-list-empty-hint { font-size: 13px; color: var(--fq-ink-3) !important; }

/* 分页（图标箭头版，对标设计稿 chevron） */
.faq-pager {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 32px;
    flex-wrap: wrap;
}
.faq-pager-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    color: var(--fq-ink-2);
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    transition: background 0.18s, color 0.18s, border-color 0.18s;
    cursor: pointer;
}
.faq-pager-btn:hover:not(.active):not(.disabled) {
    background: var(--fq-bg);
    border-color: var(--fq-brand-lt);
    color: var(--fq-brand);
}
.faq-pager-btn.active {
    background: var(--fq-brand);
    border-color: var(--fq-brand);
    color: #fff;
    font-weight: 700;
}
.faq-pager-btn.disabled {
    color: var(--fq-line);
    pointer-events: none;
    cursor: default;
}
.faq-pager-dots { color: var(--fq-ink-3); padding: 0 2px; line-height: 36px; }

/* 右侧筛选栏（设计稿：width=280, padding=16, gap=8, cornerRadius=12） */
.faq-list-sidebar {
    flex: 0 0 280px;
    background: var(--fq-surface);
    border: 1px solid var(--fq-line);
    border-radius: 12px;
    overflow: hidden;
    position: sticky;
    top: 20px;
    align-self: flex-start;
    will-change: transform;
}
.faq-sidebar-hd {
    font-size: 14px;
    font-weight: 700;
    color: var(--fq-ink);
    padding-bottom: 4px;
}
.faq-sidebar-cats {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.faq-sidebar-cat-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    height: 38px;
    font-size: 16px;
    font-weight: 400;
    color: #2D3D55;
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.15s, color 0.15s;
}
.faq-sidebar-cat-icon { font-size: 13px; opacity: 0.6; flex-shrink: 0; width: 16px; text-align: center; }
.faq-sidebar-cat-link:hover { background: var(--fq-bg); color: var(--fq-brand); }
.faq-sidebar-cat-link:hover .faq-sidebar-cat-icon { opacity: 1; }
/* 活跃行：由 PHP inline style 注入品牌色背景+字色，这里只保底 */
.faq-sidebar-cat-item.active .faq-sidebar-cat-link {
    font-weight: 700;
}
.faq-sidebar-cat-item.active .faq-sidebar-cat-icon { opacity: 1; }

/* ===== 移动端分类下拉（<900px 可见）— 老版深蓝风格 ===== */
.faq-mobile-cat-select-wrap {
    display: none;
    position: relative;
    width: 100%;
}
/* 触发按钮：深蓝色背景，白字，全宽无圆角（对标老版 faq-mobile-cat-btn） */
.faq-mobile-cat-select-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    height: 52px;
    padding: 0 16px;
    background: var(--fq-brand);
    border: none;
    border-radius: 0;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    outline: none;
    user-select: none;
}
.faq-mobile-cat-chevron {
    font-size: 12px;
    color: rgba(255,255,255,0.8);
    transition: transform 0.22s;
    flex-shrink: 0;
}
.faq-mobile-cat-select-btn[aria-expanded="true"] .faq-mobile-cat-chevron {
    transform: rotate(180deg);
}
/* 下拉菜单：白底，底部品牌色边框，不浮动（对标老版 faq-mobile-cat-menu） */
.faq-mobile-cat-select-dropdown {
    display: none;
    width: 100%;
    background: var(--fq-surface);
    border-bottom: 2px solid var(--fq-brand);
    box-shadow: 0 4px 12px rgba(var(--brand-rgb, 26, 84, 144), 0.12);
    z-index: 200;
    overflow: hidden;
    max-height: 320px;
    overflow-y: auto;
}
.faq-mobile-cat-select-dropdown.open { display: block; }
.faq-mobile-cat-opt {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 20px;
    font-size: 15px;
    color: var(--fq-ink-2);
    text-decoration: none;
    border-bottom: 1px solid var(--fq-line);
    transition: background 0.12s;
}
.faq-mobile-cat-opt:last-child { border-bottom: none; }
.faq-mobile-cat-opt:hover { background: rgba(var(--brand-rgb, 26, 84, 144), 0.04); }
.faq-mobile-cat-opt.active {
    color: var(--fq-brand);
    font-weight: 600;
    background: rgba(var(--brand-rgb, 26, 84, 144), 0.05);
}

/* ===== 模式B/C 响应式 ===== */
@media (max-width: 1100px) {
    /* 水平 padding 由 clamp() 自动插值；收窄 gap 并缩小侧边栏 */
    .faq-list-inner { gap: 20px; }
    .faq-list-sidebar { flex: 0 0 220px; }
}
@media (max-width: 900px) {
    /* 去掉左右 padding，让分类按钮全宽贴边，内容区自己管 padding */
    .faq-list-inner { flex-direction: column; gap: 0; padding: 0; }
    .faq-list-page { padding-top: 0; }
    /* PC 侧边栏隐藏，改为顶部下拉 */
    .faq-list-sidebar { display: none; }
    .faq-mobile-cat-select-wrap { display: block; }
    .faq-list-main { width: 100%; padding: 0 16px; box-sizing: border-box; }
    /* 结果/分类 meta 行与上方搜索框保持间距 */
    .faq-list-main .faq-list-meta { margin-top: 12px; }
    /* 分类卡片改列表 */
    .faq-card-grid {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    .faq-q-card {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        border-radius: 0;
        border-left-width: 1px;
        border-top: none;
        padding: 14px 14px;
        min-height: 52px;
    }
    .faq-q-card:first-child { border-radius: 10px 10px 0 0; border-top: 1px solid var(--fq-line); }
    .faq-q-card:last-child  { border-radius: 0 0 10px 10px; }
    .faq-q-card-title {
        font-size: 14px;
        font-weight: 500;
        flex: 1;
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .faq-q-card.is-hot .faq-q-card-hot { margin-left: auto; flex-shrink: 0; }
    .faq-q-card::after {
        content: "\f054";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: 12px;
        color: var(--fq-ink-3);
        flex-shrink: 0;
    }
}
@media (max-width: 600px) {
    .faq-list-inner { padding: 0; }
    .faq-list-page { padding-top: 0; }
    .faq-list-main { padding: 0 12px; }
    .faq-list-inner .faq-mobile-search-wrap { padding: 10px 12px 0; }
    .faq-result-item { padding: 14px 14px; gap: 12px; }
    .faq-result-item-title { font-size: 14px; }
}

/* ─────────────────────────────────────────────
   步骤图可点放大提示
   ───────────────────────────────────────────── */
.step-slide img {
    cursor: zoom-in;
    transition: transform 0.18s, box-shadow 0.18s;
}
.step-slide img:hover {
    transform: scale(1.015);
    box-shadow: 0 8px 28px rgba(0,0,0,0.16);
}

/* ─────────────────────────────────────────────
   步骤图 Lightbox
   ───────────────────────────────────────────── */
#stepLightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
}
#stepLightbox.open { display: flex; }

.slb-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.85);
    cursor: zoom-out;
}
.slb-box {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* PC 放大：接近主内容列宽，相对页内 max-height 440px 约 1.8–2x */
    max-width: min(94vw, 1120px);
    max-height: 94vh;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0,0,0,0.4);
}
.slb-img-wrap {
    flex: 1;
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 12px 0;
    min-height: 0;
}
.slb-img {
    max-width: 100%;
    max-height: calc(90vh - 96px);
    object-fit: contain;
    border-radius: 8px;
    cursor: default !important;
}
.slb-footer {
    width: 100%;
    padding: 14px 24px 18px;
    text-align: center;
    background: #fff;
}
.slb-step-num {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: var(--fq-ink-3);
    letter-spacing: 0.06em;
    margin-bottom: 6px;
}
.slb-caption {
    font-size: 15px;
    color: var(--fq-ink-2);
    line-height: 1.6;
    margin: 0;
    user-select: text;
}
.slb-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,0.08);
    color: var(--fq-ink);
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}
.slb-close:hover { background: rgba(0,0,0,0.18); }

/* 左右切换：PC 贴白卡外缘（深色底上白箭头）；移动端叠在图片边缘（深色圆钮） */
.slb-prev, .slb-next {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10001;
    width: 48px;
    min-height: 100px;
    border: none;
    border-radius: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    cursor: pointer;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 4px;
    line-height: 1;
    transition: color 0.18s, background 0.18s, transform 0.18s, opacity 0.18s, box-shadow 0.18s;
}
.slb-prev i, .slb-next i,
.slb-arrow-glyph {
    font-size: clamp(64px, 9vw, 96px);
    font-weight: 200;
    display: block;
    line-height: 0.85;
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -0.04em;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.55));
}
/* slb-box 半宽 = min(47vw, 560px)，箭头贴白卡左右外缘 */
.slb-prev { left: max(2px, calc(50% - min(47vw, 560px) - 52px)); }
.slb-next { right: max(2px, calc(50% - min(47vw, 560px) - 52px)); }
.slb-prev:hover, .slb-next:hover {
    color: #fff;
    background: transparent;
    transform: translateY(-50%) scale(1.05);
}
.slb-prev:disabled, .slb-next:disabled {
    opacity: 0.22;
    cursor: default;
    pointer-events: none;
}
@media (max-width: 900px) {
    /* 移动端 Lightbox：大圆钮 + 扩展热区（对标微信/相册类全屏看图） */
    .slb-prev, .slb-next {
        width: 56px;
        min-height: 56px;
        height: 56px;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.62);
        color: #fff;
        box-shadow: 0 2px 16px rgba(0, 0, 0, 0.42);
        padding: 0;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }
    .slb-prev::before, .slb-next::before {
        content: '';
        position: absolute;
        inset: -16px; /* 可视 56px → 热区约 88px */
        border-radius: 50%;
    }
    .slb-prev i, .slb-next i,
    .slb-arrow-glyph {
        font-size: 30px;
        font-weight: 400;
        filter: none;
        position: relative;
        z-index: 1;
    }
    .slb-prev { left: max(6px, calc(50% - 47vw + 6px)); }
    .slb-next { right: max(6px, calc(50% - 47vw + 6px)); }
    .slb-prev:hover, .slb-next:hover,
    .slb-prev:active, .slb-next:active {
        background: rgba(0, 0, 0, 0.78);
        transform: translateY(-50%) scale(1.04);
    }
    .slb-close {
        width: 44px;
        height: 44px;
        font-size: 17px;
        background: rgba(0, 0, 0, 0.12);
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }
    .slb-close::before {
        content: '';
        position: absolute;
        inset: -10px;
        border-radius: 50%;
    }
    .slb-box {
        max-width: 94vw;
    }
    .slb-img {
        max-height: calc(88vh - 88px);
    }
}

/* ─────────────────────────────────────────────
   小节标题折叠
   ───────────────────────────────────────────── */
.faq-section-title.collapsible {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    padding: 10px 14px;
    margin-bottom: 0;
    background: var(--fq-bg);
    border-radius: 8px;
    border-bottom: none;
    border-left: 3px solid var(--fq-brand);
}
.faq-section-title.collapsible:hover {
    color: var(--fq-brand);
    background: rgba(13,138,114,0.06);
}
.faq-section-arrow {
    flex-shrink: 0;
    font-size: 13px;
    color: var(--fq-ink-3);
    transition: transform 0.22s;
}
.faq-section-title.expanded .faq-section-arrow { transform: rotate(180deg); }
.faq-section-title.expanded { margin-bottom: 12px; border-radius: 8px 8px 0 0; }
.faq-section-body {
    overflow: hidden;
    transition: max-height 0.3s ease;
    max-height: none;
    min-width: 0;
    max-width: 100%;
}
.faq-section-body.collapsed {
    max-height: 0 !important;
}

/* 相关问题热门火焰图标 */
.faq-related-hot-icon {
    color: var(--fq-warn);
    font-size: 12px;
    margin-left: auto;
    padding-left: 8px;
    flex-shrink: 0;
    line-height: 1;
}

/* ── 搜索框通用清除按钮 ── */
.faq-search-clear-btn {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: var(--fq-ink-3);
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.15s, color 0.15s;
    margin-right: 2px;
}
.faq-search-clear-btn:hover {
    background: var(--fq-line);
    color: var(--fq-ink);
}
