/* lagom2 的 .main-grid 是 flex,子项 .main-content 默认 min-width:auto 会被 nowrap 表格
   撑爆父容器,且外层 overflow:hidden 导致无法滚动;本文件仅在本页加载,放心覆盖 */
.main-content { min-width: 0; }
#bvstore-app { margin: 16px 0; min-width: 0; max-width: 100%; }
.bvs-tabs { display: flex; gap: 8px; border-bottom: 2px solid #eee; margin-bottom: 16px; }
#bvstore-app .bvs-tab { background: none; border: none; padding: 10px 18px; font-size: 15px; cursor: pointer; color: #333; border-bottom: 2px solid transparent; margin-bottom: -2px; }
#bvstore-app .bvs-tab.active { color: var(--link-color, #25a75b); border-bottom-color: var(--link-color, #25a75b); font-weight: 600; }
#bvstore-app .bvs-classic { margin-left: auto; align-self: center; font-size: 13px; color: #888; text-decoration: none; }
#bvstore-app .bvs-classic:hover { color: var(--link-color, #25a75b); }
.bvs-help { margin: 0 0 16px; border: 1px solid #eee; border-radius: 8px; background: #fafafa; }
.bvs-help > summary { cursor: pointer; padding: 12px 16px; font-weight: 600; color: #1f2937; }
.bvs-help[open] > summary { border-bottom: 1px solid #eee; }
.bvs-help-body { padding: 6px 16px 14px; }
.bvs-help-body h4 { margin: 12px 0 4px; font-size: 14px; color: var(--link-color, #25a75b); }
.bvs-help-body p { margin: 0; color: #555; font-size: 13px; line-height: 1.75; }
.bvs-toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
/* 视觉交给主题 .form-control(含自绘下拉箭头),此处只管布局 */
.bvs-toolbar .bvs-search { flex: 1 1 220px; width: auto; }
.bvs-toolbar .bvs-filter { flex: 1 1 160px; width: auto; }
.bvs-loading { padding: 24px; text-align: center; color: #888; }
/* table-layout:fixed:列宽由表头统一决定,不随各分组内容浮动 → 所有分组表格列宽一致;
   min-width 保证窄容器下列不被挤瘪(溢出交给 .bvs-tablewrap 横向滚动) */
.bvs-table { width: 100%; min-width: 1024px; table-layout: fixed; border-collapse: collapse; font-size: 14px; }
.bvs-table th, .bvs-table td { padding: 10px 12px; border-bottom: 1px solid #f0f0f0; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bvs-table th:first-child { width: 22%; }           /* 产品 */
.bvs-table th:nth-last-child(2) { width: 16%; }     /* 价格(购买列 104px 固定,其余列均分) */
.bvs-table th[data-sort] { cursor: pointer; user-select: none; }
.bvs-table th[data-sort]:hover { color: var(--link-color, #25a75b); }
.bvs-table tbody tr:hover { background: #f7f7f7; }
.bvs-name { font-weight: 600; }
.bvs-table .bvs-cycle { width: 100%; min-width: 0; }
.bvs-tablewrap { overflow-x: auto; }
/* 窄容器溢出滚动时,价格+购买双钉右缘:关键信息始终可见;购买列定宽以确定价格列偏移 */
.bvs-table th:last-child, .bvs-table td:last-child {
  position: sticky; right: 0; background: #fff;
  width: 104px; min-width: 104px; text-align: center;
}
.bvs-table th:nth-last-child(2), .bvs-table td:nth-last-child(2) {
  position: sticky; right: 104px; background: #fff;
  box-shadow: -8px 0 8px -8px rgba(0, 0, 0, .15);
}
.bvs-table tbody tr:hover td:last-child,
.bvs-table tbody tr:hover td:nth-last-child(2) { background: #f7f7f7; }
/* 购买按钮沿用主题的 .btn .btn-primary .btn-sm(品牌色);此处仅保留间距,不覆盖主题配色 */
#bvstore-app .bvs-buy { white-space: nowrap; }
.bvs-noprice { color: #bbb; }
.bvs-stock { font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 10px; white-space: nowrap; }
.bvs-stock.in { color: #1a7f37; background: #e8f5ec; }
.bvs-stock.low { color: #b26a00; background: #fff3e0; }
.bvs-stock.out { color: #b3261e; background: #fdecea; }
.bvs-soldout { background: #eee; color: #999; cursor: not-allowed; border: none; }
.bvs-row-out { opacity: .6; }
.bvs-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.bvs-card { border: 1px solid #eee; border-radius: 10px; padding: 16px; display: flex; flex-direction: column; }
.bvs-card h4 { margin: 0 0 8px; }
.bvs-card p { color: #666; font-size: 13px; flex: 1; }
.bvs-card-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; }
.bvs-group h3 { margin: 22px 0 10px; font-size: 17px; display: flex; align-items: center; gap: 8px; }
.bvs-count { font-size: 12px; font-weight: 400; color: #888; background: #f0f0f0; border-radius: 10px; padding: 1px 9px; }
.bvs-empty { padding: 32px; text-align: center; color: #999; }
