/* --- 基础布局保持不变 --- */
.w { width: 1226px; margin: 0 auto; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mb20 { margin-bottom: 20px; }
.clear { clear: both; }
.fl { float: left; }
.fr { float: right; }
.clearfix::after { content: ""; display: block; clear: both; }

/* --- 左侧主图及缩略图 --- */
#detail .intro .left { width: 450px; }
.main-img-container { width: 450px; height: 450px; border: 1px solid #eee; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.main-img-container img { max-width: 100%; max-height: 100%; object-fit: contain; }

.thumb-container { width: 450px; position: relative; padding: 0 35px; box-sizing: border-box; }
.thumb-swiper { width: 100%; height: 85px; overflow: hidden; }
.thumb-swiper .swiper-slide { width: 80px !important; height: 80px !important; border: 1px solid #eee; cursor: pointer; box-sizing: border-box; }
.thumb-swiper .thumb-item img { width: 100%; height: 100%; object-fit: cover; }
.thumb-swiper .thumb-item.active { border: 2px solid #ff6700 !important; }

.thumb-prev, .thumb-next {
    position: absolute; top: 0; width: 30px !important; height: 80px !important;
    background-color: #f4f4f4; border: 1px solid #eee; z-index: 100;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    color: #666; font-size: 20px; font-weight: bold;
}
.thumb-prev { left: 0; }
.thumb-next { right: 0; }

/* --- 右侧详情区 --- */
#detail .intro .right { width: 730px; }
.intro-info-box { border: 1px solid #e0e0e0; padding: 15px 20px; border-radius: 4px; margin-bottom: 15px; background: #fff; }
.goods-name-new { font-size: 20px; font-weight: bold; color: #333; margin-bottom: 5px; }
.goods-intro-new { font-size: 14px; color: #666; }
.price-summary-bar { border: 1px solid #e0e0e0; padding: 12px 20px; display: flex; justify-content: space-between; align-items: center; border-radius: 4px; margin-bottom: 15px; background: #fff; }
.price-summary-bar .label { font-size: 13px; color: #333; font-weight: bold; }
.price-summary-bar .price-val { color: #e62e04; font-size: 24px; font-weight: bold; font-style: italic; }
.wholesale-box { border: 1px solid #e0e0e0; padding: 15px 20px; border-radius: 4px; margin-bottom: 20px; background: #fff; }
.wholesale-table { width: 100%; border-collapse: collapse; }
.wholesale-table th { text-align: left; font-size: 13px; color: #333; padding-bottom: 10px; font-weight: bold; }
.wholesale-table td { padding: 5px 0; }
.wholesale-table .cell-box { border: 1px solid #dcdfe6; padding: 6px 12px; display: inline-block; min-width: 120px; font-size: 13px; color: #666; border-radius: 2px; }
.product-attrs-box { border: 1px solid #e0e0e0; border-radius: 4px; background: #fff; padding: 20px; margin-bottom: 25px; }
.attr-group-top { padding-bottom: 10px; }
.attr-group-divider { border-bottom: 1px solid #eee; margin-bottom: 15px; width: 100%; }
.attr-group-bottom { padding-top: 5px; }
.attr-item { display: flex; margin-bottom: 8px; font-size: 13px; align-items: flex-start; }
.attr-label { width: 140px; color: #333; font-weight: bold; flex-shrink: 0; }
.attr-value { color: #666; flex: 1; }

.action-row { display: flex; align-items: center; gap: 15px; margin-top: 20px; }
.qty-selector { display: flex; border: 1px solid #ccc; background: #fff; }
.qty-btn { width: 28px; height: 28px; border: none; cursor: pointer; background: #f1f1f1; }
.qty-selector input { width: 45px; text-align: center; border: none; border-left: 1px solid #ccc; border-right: 1px solid #ccc; }
.total-price-section { margin-top: 25px; margin-bottom: 20px; }
.total-price-section .label { font-size: 14px; color: #333; font-weight: bold; }
.total-price-section em { font-size: 40px; color: #ff6700; font-weight: bold; font-style: italic; margin-left: 15px; }
.btn-add-cart { background: #ff6700; color: #fff; border: none; padding: 10px 50px; font-size: 16px; font-weight: bold; cursor: pointer; border-radius: 4px; }

/* --- 6. 推荐产品标题 --- */
.section-title { font-size: 18px; font-weight: bold; color: #333; margin: 25px 0 15px 0; }
.white-content-box { border: 1px solid #e0e0e0; background: #fff; padding: 20px; border-radius: 6px; }

/* --- 【核心修复：推荐产品卡片强制对齐】 --- */
.b2b-list {
    display: grid !important;
    /* 使用 minmax(0, 1fr) 强制每一列宽度相等，防止长文字撑开 */
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.b2b-item {
    background: #fff;
    border: 1px solid #eee;
    padding: 12px;
    border-radius: 4px;
    box-sizing: border-box;
    /* 强制高度一致 */
    display: flex !important;
    flex-direction: column;
    min-width: 0; /* 允许内容收缩 */
}

.b2b-item a {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    text-decoration: none !important;
}

.goods-img-detail-recommend {
    width: 100%;
    height: 160px !important; /* 强制图片高度 */
    object-fit: contain;
    flex-shrink: 0;
    margin-bottom: 10px;
}

.text-truncate {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    /* 必须固定高度，防止1行和2行标题导致对齐失效 */
    height: 36px !important;
    line-height: 18px !important;
    margin: 5px 0 10px 0 !important;
    font-size: 13px;
    color: #333;
    word-break: break-all; /* 强制长单词换行 */
}

.item_price {
    /* 强制价格区域高度，防止登录和未登录状态高度不一 */
    height: 25px !important;
    margin-bottom: 10px;
}

.price-text {
    font-size: 15px;
    font-weight: bold;
    color: #e62e04;
    margin: 0;
}

.inquire-now-btn {
    display: block;
    width: 100%;
    padding: 6px 0;
    text-align: center;
    border: 1.5px solid #3933D5;
    color: #3933D5;
    border-radius: 20px;
    font-size: 12px;
    font-weight: bold;
    /* 关键：将按钮推向底部 */
    margin-top: auto !important;
}

/* 7. 详情内容 */
.goods-detail-content img { max-width: 100%; height: auto; }