/* ========== 页面容器 ========== */
.buy-page{
    width:100%;
    max-width:var(--pc-width);
    margin:0 auto;
    padding:var(--pc-gap) 20px 40px;
    font-size:14px;
    color:var(--pc-text);
    box-sizing:border-box;
}

/* ========== 面包屑 ========== */
.buy-crumb{
    padding:12px 0;
    font-size:13px;
    color:var(--pc-text-light);
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.buy-crumb a{
    color:var(--pc-text-sub);
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.buy-crumb a:hover{color:var(--pc-primary)}
.buy-crumb i.fa-chevron-right{font-size:10px;color:var(--pc-text-dis)}

/* ========== 主体布局 ========== */
.buy-main{
    display:flex;
    gap:var(--pc-gap);
    align-items:flex-start;
}
.buy-left{flex:1;min-width:0}
.buy-right{flex:0 0 300px}

/* ========== 筛选卡片 ========== */
.buy-filter{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    margin-bottom:var(--pc-gap);
    box-shadow:var(--pc-shadow-sm);
    overflow:hidden;
}

/* 分类导航 */
.pc-cat-nav{position:relative}
.pc-cat-nav-bar{
    display:flex;
    padding:0 20px;
    border-bottom:1px solid var(--pc-border);
    flex-wrap:wrap;
}
.pc-cat-nav-tab{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:16px 18px;
    font-size:14px;
    color:var(--pc-text-sub);
    position:relative;
    transition:color .15s;
}
.pc-cat-nav-tab:hover{color:var(--pc-primary)}
.pc-cat-nav-tab.on{
    color:var(--pc-primary);
    font-weight:600;
}
.pc-cat-nav-tab.on::after{
    content:'';
    position:absolute;
    left:18px;
    right:18px;
    bottom:-1px;
    height:2px;
    background:var(--pc-primary);
    border-radius:2px;
}
.pc-cat-nav-arrow{
    font-size:12px;
    opacity:.5;
    transition:transform .2s;
}
.pc-cat-nav-tab.active .pc-cat-nav-arrow{transform:rotate(180deg);opacity:1}

/* 二级面板 */
.pc-cat-sub{
    display:none;
    padding:16px 20px;
    border-bottom:1px solid var(--pc-border);
    flex-wrap:wrap;
    gap:8px;
}
.pc-cat-sub.show{display:flex}
.pc-cat-sub a{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:6px 14px;
    font-size:13px;
    color:var(--pc-text-sub);
    background:var(--pc-bg);
    border:1px solid transparent;
    border-radius:var(--pc-radius-xl);
    transition:all .15s;
}
.pc-cat-sub a:hover{
    color:var(--pc-primary);
    background:var(--pc-primary-bg);
}
.pc-cat-sub a.on{
    color:var(--pc-primary);
    background:var(--pc-primary-bg);
    border-color:var(--pc-primary);
    font-weight:500;
}
.pc-cat-sub-all{
    color:var(--pc-primary) !important;
    background:var(--pc-primary-bg) !important;
}

/* 类别 / 属性行 */
.buy-filter-row{
    display:flex;
    padding:12px 20px;
    border-bottom:1px dashed var(--pc-border);
    line-height:2;
}
.buy-filter-row:last-child{border-bottom:none}
.buy-filter-label{
    flex:0 0 64px;
    color:var(--pc-text-light);
    font-size:13px;
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding-top:2px;
}
.buy-filter-label i{color:var(--pc-primary);font-size:12px}
.buy-filter-values{
    flex:1;
    display:flex;
    flex-wrap:wrap;
    gap:4px 2px;
}
.buy-filter-values a{
    display:inline-block;
    padding:2px 12px;
    border-radius:var(--pc-radius-sm);
    color:var(--pc-text-sub);
    font-size:13px;
    transition:all .15s;
}
.buy-filter-values a:hover{
    color:var(--pc-primary);
    background:var(--pc-primary-bg-light);
}

/* ========== 工具栏 ========== */
.buy-toolbar{
    background:var(--pc-card);
    padding:12px 20px;
    border-radius:var(--pc-radius) var(--pc-radius) 0 0;
    border-bottom:1px solid var(--pc-border);
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}
.buy-toolbar-left{
    display:flex;
    align-items:center;
    gap:8px;
}
.buy-checkbox-all{
    width:16px;
    height:16px;
    accent-color:var(--pc-primary);
    cursor:pointer;
}
.buy-toolbar-btn{
    height:32px;
    padding:0 16px;
    border-radius:var(--pc-radius-sm);
    font-size:13px;
    cursor:pointer;
    border:1px solid transparent;
    transition:all .15s;
}
.buy-toolbar-btn-outline{
    background:var(--pc-card);
    border-color:var(--pc-border);
    color:var(--pc-text-sub);
}
.buy-toolbar-btn-outline:hover{
    border-color:var(--pc-primary);
    color:var(--pc-primary);
}
.buy-toolbar-btn-primary{
    background:var(--pc-primary);
    color:#fff;
}
.buy-toolbar-btn-primary:hover{background:var(--pc-primary-dark)}

.buy-toolbar-right{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:13px;
    color:var(--pc-text-sub);
}
.buy-toolbar-right label{
    display:inline-flex;
    align-items:center;
    gap:4px;
    cursor:pointer;
}
.buy-toolbar-right input[type=checkbox]{
    accent-color:var(--pc-primary);
    cursor:pointer;
}
.buy-toolbar-right select{
    height:30px;
    padding:0 8px;
    border:1px solid var(--pc-border-input);
    border-radius:var(--pc-radius-sm);
    background:var(--pc-card);
    font-size:13px;
    color:var(--pc-text-sub);
    cursor:pointer;
    outline:none;
}
.buy-toolbar-right select:hover{border-color:var(--pc-primary)}
.buy-view-toggle{
    display:inline-flex;
    border:1px solid var(--pc-border-input);
    border-radius:var(--pc-radius-sm);
    overflow:hidden;
}
.buy-view-toggle a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:30px;
    color:var(--pc-text-light);
    transition:all .15s;
}
.buy-view-toggle a:hover{color:var(--pc-primary)}
.buy-view-toggle a.on{
    background:var(--pc-primary);
    color:#fff;
}

/* ========== 列表容器 ========== */
.buy-list{
    background:var(--pc-card);
    border-radius:0 0 var(--pc-radius) var(--pc-radius);
    overflow:hidden;
    box-shadow:var(--pc-shadow-sm);
    min-height:200px;
}

/* ========== 列表项（对应 list-buy.htm） ========== */
.buy-item{
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px 20px;
    border-bottom:1px solid var(--pc-border);
    transition:background .15s;
    position:relative;
}
.buy-item:last-child{border-bottom:none}
.buy-item:hover{
    background:var(--pc-primary-bg-light);
}

/* 缩略图 */
.buy-thumb{
    flex:0 0 120px;
    width:120px;
    height:120px;
    border-radius:var(--pc-radius-sm);
    overflow:hidden;
    background:var(--pc-bg);
    display:block;
}
.buy-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .3s;
}
.buy-item:hover .buy-thumb img{transform:scale(1.06)}

/* 信息区 */
.buy-body{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    height:120px;
    padding:4px 0;
}

/* 标题 */
.buy-title{
    margin:0;
    font-size:16px;
    line-height:1.4;
    font-weight:600;
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}
.buy-title a{
    color:var(--pc-text);
    transition:color .15s;
}
.buy-title a:hover{color:var(--pc-primary)}
.buy-vip{
    display:inline-block;
    vertical-align:middle;
    margin-right:6px;
}
.buy-vip img{vertical-align:middle}

/* 简介 */
.buy-desc{
    margin:6px 0;
    font-size:13px;
    line-height:1.6;
    color:var(--pc-text-light);
    overflow:hidden;
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

/* 底部信息行 */
.buy-meta{
    display:flex;
    align-items:center;
    gap:20px;
    font-size:13px;
    color:var(--pc-text-light);
    margin-top:auto;
}
.buy-amount{color:var(--pc-text-light)}
.buy-amount b{
    color:var(--pc-primary);
    font-weight:600;
    margin-left:2px;
}
.buy-company a{
    color:var(--pc-text-sub);
    transition:color .15s;
}
.buy-company a:hover{color:var(--pc-primary)}
.buy-unreg{
    color:var(--pc-text-dis);
    font-size:12px;
}
.buy-time{
    margin-left:auto;
    color:var(--pc-text-dis);
    font-size:12px;
}

/* 地区（右侧独立列） */
.buy-area{
    flex:0 0 100px;
    text-align:center;
    font-size:12px;
    color:var(--pc-primary);
    background:var(--pc-primary-bg);
    padding:6px 10px;
    border-radius:var(--pc-radius-sm);
    align-self:center;
    line-height:1.4;
}

/* ========== 分页 ========== */
.buy-pages{
    text-align:center;
    padding:24px 0;
}
.buy-pages a,
.buy-pages span{
    display:inline-block;
    min-width:34px;
    height:34px;
    line-height:32px;
    padding:0 12px;
    margin:0 3px;
    border-radius:var(--pc-radius-sm);
    background:var(--pc-card);
    border:1px solid var(--pc-border);
    color:var(--pc-text-sub);
    font-size:13px;
    transition:all .15s;
}
.buy-pages a:hover{
    border-color:var(--pc-primary);
    color:var(--pc-primary);
}
.buy-pages .on,
.buy-pages .current{
    background:var(--pc-primary);
    border-color:var(--pc-primary);
    color:#fff;
}

/* ========== 右侧卡片 ========== */
.buy-side-card{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    margin-bottom:var(--pc-gap);
    overflow:hidden;
    box-shadow:var(--pc-shadow-sm);
}
.buy-side-head{
    padding:14px 20px;
    font-size:14px;
    font-weight:600;
    color:var(--pc-text);
    border-bottom:1px solid var(--pc-border);
    display:flex;
    align-items:center;
    gap:8px;
}
.buy-side-head i{color:var(--pc-primary)}
.buy-side-body{padding:8px 12px 12px}

/* 侧栏 list-txt / list-rank 内部覆盖 */
.buy-side-body li{
    padding:8px;
    border-bottom:1px dashed var(--pc-border);
    line-height:1.5;
    font-size:13px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.buy-side-body li:last-child{border-bottom:none}
.buy-side-body li a{
    color:var(--pc-text-sub);
}
.buy-side-body li a:hover{color:var(--pc-primary)}

/* ========== 侧栏条目（list-side.htm 输出） ========== */
.buy-side-body .sell-side-item{
    display:flex;
    align-items:flex-start;
    gap:8px;
    padding:9px 8px;
    border-bottom:1px dashed var(--pc-border);
    font-size:13px;
    line-height:1.5;
    color:var(--pc-text-sub);
    text-decoration:none;
    transition:color .15s, background .15s;
}
.buy-side-body .sell-side-item:last-child{
    border-bottom:none;
}
.buy-side-body .sell-side-item:hover{
    color:var(--pc-primary);
    background:var(--pc-primary-bg-light);
}

/* 序号 */
.buy-side-body .sell-side-item-index{
    flex:0 0 18px;
    height:18px;
    line-height:18px;
    text-align:center;
    background:var(--pc-bg);
    color:var(--pc-text-light);
    border-radius:3px;
    font-size:11px;
    font-weight:600;
    margin-top:2px;
    transition:all .15s;
}

/* 前三名用主题色突出 */
.buy-side-body .sell-side-item:nth-child(1) .sell-side-item-index{
    background:var(--pc-primary);
    color:#fff;
}
.buy-side-body .sell-side-item:nth-child(2) .sell-side-item-index{
    background:var(--pc-primary-light, #5cb84a);
    color:#fff;
}
.buy-side-body .sell-side-item:nth-child(3) .sell-side-item-index{
    background:var(--pc-primary-bg);
    color:var(--pc-primary);
}

/* 标题：两行截断 */
.buy-side-body .sell-side-item-title{
    flex:1;
    min-width:0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    word-break:break-all;
}

/* ========== 工具栏标题（list 页用） ========== */
.buy-toolbar .toolbar-title{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:15px;
    font-weight:600;
    color:var(--pc-text);
    position:relative;
    padding-left:12px;
}
.buy-toolbar .toolbar-title::before{
    content:'';
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:14px;
    background:var(--pc-primary);
    border-radius:2px;
}
.buy-toolbar .toolbar-title i{
    color:var(--pc-primary);
    font-size:14px;
}

/* ========== 列表页里 tag 输出的分页 ========== */
.buy-list .pages{
    text-align:center;
    padding:24px 0;
}
.buy-list .pages a,
.buy-list .pages span{
    display:inline-block;
    min-width:34px;
    height:34px;
    line-height:32px;
    padding:0 12px;
    margin:0 3px;
    border-radius:var(--pc-radius-sm);
    background:var(--pc-card);
    border:1px solid var(--pc-border);
    color:var(--pc-text-sub);
    font-size:13px;
    text-decoration:none;
    transition:all .15s;
}
.buy-list .pages a:hover{
    border-color:var(--pc-primary);
    color:var(--pc-primary);
}
.buy-list .pages .on,
.buy-list .pages .current{
    background:var(--pc-primary);
    border-color:var(--pc-primary);
    color:#fff;
}

/* 右栏广告位容器 */
.buy-side-body .ad-box,
.buy-side-body img{
    max-width:100%;
    height:auto;
    display:block;
    border-radius:var(--pc-radius-sm);
}

/* 搜索排行里的 li（如输出的是 ul>li 结构） */
.buy-side-body .list-rank li{
    padding:8px;
    border-bottom:1px dashed var(--pc-border);
    font-size:13px;
    line-height:1.5;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    list-style:none;
}
.buy-side-body .list-rank li:last-child{border-bottom:none}
.buy-side-body .list-rank li a{
    color:var(--pc-text-sub);
    text-decoration:none;
}
.buy-side-body .list-rank li a:hover{color:var(--pc-primary)}

/* ============================================================
 * 求购详情页
 * ============================================================ */

.bs-page{
    width:100%;
    max-width:var(--pc-width);
    margin:0 auto;
    padding:var(--pc-gap) 20px 40px;
    font-size:14px;
    color:var(--pc-text);
    box-sizing:border-box;
}

/* ========== 面包屑 ========== */
.bs-crumb{
    padding:12px 0;
    font-size:13px;
    color:var(--pc-text-light);
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.bs-crumb a{
    color:var(--pc-text-sub);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.bs-crumb a:hover{color:var(--pc-primary)}
.bs-crumb i.fa-chevron-right{font-size:10px;color:var(--pc-text-dis)}
.bs-share{
    margin-left:auto;
    padding:5px 14px;
    border:1px solid var(--pc-border);
    border-radius:var(--pc-radius-sm);
    color:var(--pc-text-sub) !important;
    font-size:13px;
    background:var(--pc-card);
    transition:all .15s;
}
.bs-share:hover{
    border-color:var(--pc-primary);
    color:var(--pc-primary) !important;
}

/* ========== 主体（两栏：图集 + 信息） ========== */
.bs-main{
    display:flex;
    gap:28px;
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    padding:24px;
    box-shadow:var(--pc-shadow-sm);
    margin-bottom:var(--pc-gap);
    align-items:flex-start;
}

/* ========== 图集 ========== */
.bs-gallery{
    flex:0 0 420px;
    width:420px;
}
.bs-gallery-main{
    width:420px;
    height:420px;
    background:var(--pc-bg);
    border-radius:var(--pc-radius-sm);
    overflow:hidden;
    cursor:zoom-in;
    position:relative;
    display:block;
}

/* track：所有图片横向排一排 */
.bs-gallery-track{
    display:flex;
    width:100%;
    height:100%;
    transition:transform .35s ease-out;
    will-change:transform;
}

/* 单张图：各占 100% 宽 */
.bs-gallery-track img{
    flex:0 0 100%;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    user-select:none;
    -webkit-user-drag:none;
}

/* 关键改动：固定大小，永远占满，多余裁剪 */
.bs-gallery-main img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    opacity:1;
    transition:opacity .18s ease;
}
.bs-gallery-zoom-tip{
    position:absolute;
    right:12px;
    bottom:12px;
    padding:4px 10px;
    background:rgba(0,0,0,.5);
    color:#fff;
    font-size:12px;
    border-radius:var(--pc-radius-sm);
    opacity:0;
    transition:opacity .2s;
    pointer-events:none;
    z-index:3;
}
.bs-gallery-main:hover .bs-gallery-zoom-tip{
    opacity:1;
}
.bs-gallery-zoom-tip i{margin-right:4px}

/* 主图左右箭头 */
.bs-main-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:36px;
    height:60px;
    background:rgba(0,0,0,.35);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    border-radius:var(--pc-radius-sm);
    cursor:pointer;
    opacity:0;
    transition:all .2s;
    z-index:2;
}
.bs-main-arrow:hover{background:rgba(0,0,0,.6)}
.bs-main-prev{left:8px}
.bs-main-next{right:8px}
.bs-gallery-main:hover .bs-main-arrow{opacity:1}

/* 主图圆点 */
.bs-main-dots{
    position:absolute;
    left:50%;
    bottom:10px;
    transform:translateX(-50%);
    display:flex;
    gap:6px;
    padding:4px 10px;
    background:rgba(0,0,0,.3);
    border-radius:var(--pc-radius-xl);
    z-index:2;
}
.bs-main-dots i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:rgba(255,255,255,.55);
    cursor:pointer;
    transition:all .2s;
}
.bs-main-dots i.on{
    width:16px;
    border-radius:3px;
    background:#fff;
}

/* ========== 缩略图轮播 ========== */
.bs-thumbs-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    position:relative;
}
.bs-thumbs-arrow{
    flex-shrink:0;
    width:24px;
    height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--pc-card);
    border:1px solid var(--pc-border);
    border-radius:var(--pc-radius-sm);
    color:var(--pc-text-sub);
    font-size:12px;
    text-decoration:none;
    cursor:pointer;
    transition:all .15s;
    user-select:none;
}
.bs-thumbs-arrow:hover{
    border-color:var(--pc-primary);
    color:var(--pc-primary);
    background:var(--pc-primary-bg-light);
}
.bs-thumbs-arrow.disabled{
    opacity:.3;
    pointer-events:none;
    cursor:default;
}
.bs-gallery-thumbs{
    flex:1;
    min-width:0;
    display:flex;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding-bottom:2px;
}
.bs-gallery-thumbs::-webkit-scrollbar{display:none}
.bs-gallery-thumbs img{
    flex-shrink:0;
    width:64px;
    height:64px;
    object-fit:cover;
    border-radius:var(--pc-radius-sm);
    border:2px solid transparent;
    cursor:pointer;
    background:var(--pc-bg);
    transition:border-color .15s, transform .15s;
}
.bs-gallery-thumbs img:hover{
    border-color:rgba(71,153,54,.5);
}
.bs-gallery-thumbs img.on{
    border-color:var(--pc-primary);
}

/* ========== 信息区 ========== */
.bs-info{
    flex:1;
    min-width:0;
    padding:0 4px;
}
.bs-title{
    margin:0 0 20px;
    font-size:22px;
    line-height:1.4;
    font-weight:600;
    color:var(--pc-text);
}
.bs-params{
    display:flex;
    flex-direction:column;
    border-top:1px dashed var(--pc-border);
}
.bs-param{
    display:flex;
    padding:11px 0;
    border-bottom:1px dashed var(--pc-border);
    font-size:14px;
    line-height:1.6;
}
.bs-param span{
    flex:0 0 90px;
    color:var(--pc-text-light);
}
.bs-param em{
    flex:1;
    font-style:normal;
    color:var(--pc-text);
    word-break:break-all;
}
.bs-param-hl em{
    color:var(--pc-primary);
    font-weight:600;
}
.bs-price{
    font-size:18px !important;
    color:var(--pc-primary);
    font-weight:700;
}
.bs-expired{
    color:var(--pc-danger);
    font-size:12px;
    margin-left:6px;
}
.bs-actions{
    margin-top:24px;
    display:flex;
    gap:12px;
}
.bs-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    height:44px;
    padding:0 28px;
    border-radius:var(--pc-radius-sm);
    font-size:14px;
    font-weight:500;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:all .15s;
}
.bs-btn-primary{
    background:var(--pc-primary);
    color:#fff !important;
    box-shadow:0 4px 12px rgba(71,153,54,.25);
}
.bs-btn-primary:hover{
    background:var(--pc-primary-dark);
    box-shadow:0 6px 16px rgba(71,153,54,.35);
    transform:translateY(-1px);
}

/* ========== 通用分区 ========== */
.bs-section{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    margin-bottom:var(--pc-gap);
    overflow:hidden;
}
.bs-section-head{
    display:flex;
    align-items:center;
    gap:8px;
    padding:16px 24px;
    font-size:15px;
    font-weight:600;
    color:var(--pc-text);
    border-bottom:1px solid var(--pc-border);
    position:relative;
    padding-left:34px;
}
.bs-section-head::before{
    content:'';
    position:absolute;
    left:24px;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:16px;
    background:var(--pc-primary);
    border-radius:2px;
}
.bs-section-head i{color:var(--pc-primary);font-size:14px}
.bs-more{
    margin-left:auto;
    font-size:13px;
    font-weight:400;
    color:var(--pc-text-light);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:4px;
    transition:color .15s;
}
.bs-more:hover{color:var(--pc-primary)}
.bs-section-body{padding:20px 24px}

/* 详情内容 */
.bs-content{
    font-size:14px;
    line-height:1.8;
    color:var(--pc-text);
    word-break:break-all;
}
.bs-content img{
    max-width:100% !important;
    height:auto !important;
    display:block;
    margin:10px 0;
    border-radius:var(--pc-radius-sm);
}
.bs-content p{margin:0 0 12px}
.bs-content table{max-width:100%;border-collapse:collapse}
.bs-content table td,
.bs-content table th{
    border:1px solid var(--pc-border);
    padding:6px 10px;
}

/* 打赏 */
.bs-award{
    text-align:center;
    padding:20px 0 4px;
}
.bs-award a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 24px;
    background:var(--pc-primary-bg);
    color:var(--pc-primary);
    border-radius:var(--pc-radius-xl);
    font-size:13px;
    text-decoration:none;
    transition:all .15s;
}
.bs-award a:hover{
    background:var(--pc-primary);
    color:#fff;
}

/* ========== 同类推荐 ========== */
.bs-thumb-list{
    width:100%;
}
/* thumb-table 输出的是 <table>，统一处理 */
.bs-thumb-list table{
    width:100%;
    border-collapse:separate;
    border-spacing:12px 12px;
    table-layout:fixed;
    margin:-12px;
}
.bs-thumb-list td{
    text-align:center;
    vertical-align:top;
    padding:0;
    width:12.5%;
}
.bs-thumb-list td a{
    display:block;
    text-decoration:none;
}
.bs-thumb-list td img{
    width:100%;
    height:auto;
    aspect-ratio:1 / 1;
    object-fit:cover;
    border-radius:var(--pc-radius-sm);
    border:1px solid var(--pc-border);
    transition:border-color .15s, transform .2s, box-shadow .2s;
    display:block;
    background:var(--pc-bg);
}
.bs-thumb-list td img:hover{
    border-color:var(--pc-primary);
    transform:translateY(-2px);
    box-shadow:var(--pc-shadow);
}
/* 如果 thumb-table 输出的是纯 img 而不是 table，兜底 */
.bs-thumb-list > img{
    width:120px;
    height:120px;
    object-fit:cover;
    border-radius:var(--pc-radius-sm);
    border:1px solid var(--pc-border);
    margin:0 12px 12px 0;
    transition:border-color .15s, transform .2s;
}
.bs-thumb-list > img:hover{
    border-color:var(--pc-primary);
    transform:translateY(-2px);
}

/* 评论区 */
.bs-comment-section{padding:24px}

/* ========== 大图 Modal ========== */
.bs-modal{
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    background:rgba(0,0,0,.85);
    z-index:99999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:40px;
    cursor:zoom-out;
}
.bs-modal.show{display:flex}
.bs-modal img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    display:block;
    border-radius:var(--pc-radius-sm);
    box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.bs-modal-close{
    position:absolute;
    top:24px;
    right:24px;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:20px;
    background:rgba(255,255,255,.12);
    border-radius:50%;
    cursor:pointer;
    transition:background .15s;
}
.bs-modal-close:hover{background:rgba(255,255,255,.25)}


/* ============================================================
 * 报价单页面
 * ============================================================ */

.pq-page{
    width:var(--pc-width);
    margin:0 auto;
    padding:var(--pc-gap) 0 60px;
    font-size:14px;
    color:var(--pc-text);
}

/* ========== 面包屑 ========== */
.pq-crumb{
    padding:12px 0;
    font-size:13px;
    color:var(--pc-text-light);
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.pq-crumb a{
    color:var(--pc-text-sub);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:4px;
}
.pq-crumb a:hover{color:var(--pc-primary)}
.pq-crumb i.fa-chevron-right{font-size:10px;color:var(--pc-text-dis)}

/* ========== 表单容器 ========== */
.pq-form{
    display:block;
}

/* ========== 卡片 ========== */
.pq-card{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    margin-bottom:var(--pc-gap);
    overflow:hidden;
}
.pq-card-head{
    display:flex;
    align-items:center;
    gap:8px;
    padding:16px 28px;
    font-size:15px;
    font-weight:600;
    color:var(--pc-text);
    border-bottom:1px solid var(--pc-border);
    position:relative;
    padding-left:38px;
    background:var(--pc-primary-bg-light);
}
.pq-card-head::before{
    content:'';
    position:absolute;
    left:28px;
    top:50%;
    transform:translateY(-50%);
    width:3px;
    height:16px;
    background:var(--pc-primary);
    border-radius:2px;
}
.pq-card-head i{color:var(--pc-primary);font-size:14px}
.pq-card-head-extra{
    margin-left:auto;
    font-size:13px;
    font-weight:400;
    color:var(--pc-primary);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:4px;
    transition:opacity .15s;
}
.pq-card-head-extra:hover{opacity:.8}
.pq-card-body{padding:8px 28px 20px}

/* ========== 字段行 ========== */
.pq-field{
    display:flex;
    gap:20px;
    padding:18px 0;
    border-bottom:1px dashed var(--pc-border);
}
.pq-field:last-child{border-bottom:none}

.pq-label{
    flex:0 0 100px;
    padding-top:10px;
    font-size:14px;
    color:var(--pc-text-sub);
    line-height:1.6;
}
.pq-label em{
    color:var(--pc-danger);
    font-style:normal;
    margin-right:4px;
}
.pq-input-wrap{
    flex:1;
    min-width:0;
}

/* ========== 输入控件 ========== */
.pq-input,
.pq-textarea{
    width:100%;
    box-sizing:border-box;
    padding:10px 14px;
    border:1px solid var(--pc-border-input);
    border-radius:var(--pc-radius-sm);
    background:var(--pc-card);
    font-size:14px;
    color:var(--pc-text);
    font-family:inherit;
    outline:none;
    transition:border-color .15s, box-shadow .15s;
}
.pq-input:hover,
.pq-textarea:hover{
    border-color:var(--pc-text-light);
}
.pq-input:focus,
.pq-textarea:focus{
    border-color:var(--pc-primary);
    box-shadow:0 0 0 3px var(--pc-primary-bg);
}
.pq-input::placeholder,
.pq-textarea::placeholder{
    color:var(--pc-text-dis);
}
.pq-input-sm{max-width:280px}
.pq-textarea{
    min-height:180px;
    line-height:1.7;
    resize:vertical;
}
select.pq-input{
    cursor:pointer;
    height:42px;
}

/* 提示 */
.pq-tip{
    margin-top:8px;
    font-size:12px;
    color:var(--pc-text-light);
    line-height:1.6;
    display:flex;
    align-items:flex-start;
    gap:6px;
}
.pq-tip i{
    color:var(--pc-primary);
    margin-top:3px;
    font-size:11px;
    flex-shrink:0;
}
.pq-tip a{
    color:var(--pc-primary);
    text-decoration:none;
}
.pq-tip a:hover{text-decoration:underline}

/* 错误 */
.pq-error{
    display:block;
    margin-top:6px;
    font-size:12px;
    color:var(--pc-danger);
    min-height:0;
}
.pq-error:empty{display:none}

/* 高亮数字 */
.pq-highlight{
    color:var(--pc-primary);
    font-weight:600;
}

/* ========== 日期字段 ========== */
.pq-date-wrap{
    display:flex;
    align-items:center;
    gap:10px;
}
.pq-date-wrap input{
    max-width:220px;
}
.pq-date-suffix{
    color:var(--pc-text-sub);
    font-size:14px;
}

/* ========== 复选框 ========== */
.pq-checkbox{
    display:inline-flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    font-size:14px;
    color:var(--pc-text-sub);
}
.pq-checkbox input[type=checkbox]{
    width:16px;
    height:16px;
    accent-color:var(--pc-primary);
    cursor:pointer;
}

/* ========== 已登录：信息展示 ========== */
.pq-info-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:0;
    margin-top:-1px;
}
.pq-info-item{
    display:flex;
    padding:14px 0;
    font-size:14px;
    line-height:1.6;
    border-bottom:1px dashed var(--pc-border);
}
.pq-info-label{
    flex:0 0 88px;
    color:var(--pc-text-light);
}
.pq-info-value{
    flex:1;
    min-width:0;
    color:var(--pc-text);
    word-break:break-all;
}

/* ========== 未登录提示 ========== */
.pq-login-tip{
    padding:14px 18px;
    margin-bottom:12px;
    background:var(--pc-primary-bg);
    border-radius:var(--pc-radius-sm);
    font-size:13px;
    line-height:1.7;
    color:var(--pc-text-sub);
}
.pq-login-tip i{
    color:var(--pc-primary);
    margin-right:6px;
}
.pq-login-tip a{
    color:var(--pc-primary);
    font-weight:600;
    text-decoration:none;
}
.pq-login-tip a:hover{text-decoration:underline}

/* ========== 提交区 ========== */
.pq-submit-bar{
    background:var(--pc-card);
    border-radius:var(--pc-radius);
    box-shadow:var(--pc-shadow-sm);
    padding:28px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
}
.pq-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    height:46px;
    padding:0 36px;
    border-radius:var(--pc-radius-sm);
    font-size:15px;
    font-weight:600;
    border:none;
    cursor:pointer;
    font-family:inherit;
    transition:all .15s;
}
.pq-btn-primary{
    background:var(--pc-primary);
    color:#fff;
    box-shadow:0 4px 12px rgba(71,153,54,.25);
}
.pq-btn-primary:hover{
    background:var(--pc-primary-dark);
    box-shadow:0 6px 16px rgba(71,153,54,.35);
    transform:translateY(-1px);
}
.pq-btn-primary:active{
    transform:translateY(0);
    box-shadow:0 2px 6px rgba(71,153,54,.3);
}

.pq-limit{
    font-size:13px;
    color:var(--pc-text-light);
    line-height:1.6;
    text-align:center;
}
.pq-limit b{
    color:var(--pc-text-sub);
    font-weight:600;
    margin:0 2px;
}
.pq-limit b.pq-highlight{
    color:var(--pc-primary);
}
