/* 首页主版式：桌面保留左侧分类，底部展示独立于首屏。 */
.wrap { width: min(1200px, calc(100% - 48px)); }
.top-actions .btn-primary { min-height: 42px; padding: 9px 14px; }
.ask-first { width: 100%; margin: 0 auto; border: 0; background: transparent; padding: 0; gap: 0; }
.ask-box { grid-template-columns: minmax(0, 1fr) 72px; gap: 8px; }
.ask-box .search-input { box-sizing: border-box; height: 52px; min-height: 52px; max-height: none; padding: 12px 14px; line-height: 24px; resize: vertical; overflow-y: auto; }
.ask-box .btn.search-icon-btn { box-sizing: border-box; height: 52px; min-height: 52px; align-self: start; padding: 0; display: grid; place-items: center; }
.search-icon-btn svg { width: 25px; height: 25px; }
.home-market {
  grid-template-columns: 240px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  height: 360px;
  min-height: 0;
  background: #fff;
}
.category-board { height: 100%; min-height: 0; max-height: none; padding: 6px 0; overflow: hidden; grid-template-rows: minmax(0, 1fr); align-content: stretch; }
.home-category-list { height: 100%; min-height: 0; display: grid; grid-template-rows: repeat(8, minmax(0, 1fr)); }
.home-category { box-sizing: border-box; display: flex; align-items: center; height: auto; min-height: 0; padding: 6px 16px; }
.home-category strong { width: 100%; }
.home-category.is-active { background: rgb(255 255 255 / 14%); box-shadow: inset 4px 0 0 #58c7cf; }
@media (hover: hover) {
  .home-category:not(.is-active):hover { background: transparent; color: #c9f0f2; }
}
.supplier-billboard { height: 100%; min-height: 0; min-width: 0; padding: 16px 20px; overflow: hidden; }
.billboard-list { height: 100%; min-height: 0; grid-template-rows: minmax(0, 1fr); }
.billboard-card { height: 100%; min-height: 0; min-width: 0; grid-template-rows: minmax(0, 1fr) auto; gap: 8px; padding: 22px; }
.billboard-card > div:first-child { min-height: 0; overflow: hidden; }
.billboard-card h3, .billboard-supplier-name, .billboard-card p { overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.billboard-card h3 { font-size: clamp(22px, 2vw, 28px); -webkit-line-clamp: 2; }
.billboard-supplier-name { -webkit-line-clamp: 2; }
.billboard-card p { -webkit-line-clamp: 3; }
.billboard-dots { margin: 0; min-height: 28px; align-items: center; gap: 2px; }
.billboard-dots button { width: 28px; height: 28px; border: 0; background: transparent; display: grid; place-items: center; flex-shrink: 0; }
.billboard-dots button::after { content: ''; width: 8px; height: 8px; border-radius: 50%; border: 1px solid #8fb6c3; background: #fff; }
.billboard-dots button.is-active { background: transparent; }
.billboard-dots button.is-active::after { background: #0f8c97; border-color: #0f8c97; }
.home-category:focus-visible, .billboard-dots button:focus-visible { outline: 2px solid #0b66b2; outline-offset: -3px; }
.subcategory-flyout { overflow-y: auto; background: #fff; }
.subcategory-flyout { padding: 14px 20px; }
.subcategory-grid { gap: 6px 10px; margin-top: 8px; }
.subcategory-card { min-height: 62px; padding: 7px 9px; }
.billboard-empty { align-self: center; color: #617283; }
.billboard-empty strong { font-size: 24px; color: #173b56; }
.category-showcase { margin: 24px auto 40px; scroll-margin-top: 90px; }
.showcase-tabs-row { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.showcase-tabs { display:block; flex:1 1 auto; min-width:0; margin:0; padding:0; }
.showcase-tabs-list { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; overflow:visible; padding:0; }
.showcase-tab { flex:0 0 auto; width:auto; border:1px solid #d8e7ee; border-radius:6px; background:#fff; color:#536b7c; padding:9px 16px; font-weight:700; white-space:nowrap; }
.showcase-tab.is-active { background:#0f8c97; border-color:#0f8c97; color:#fff; }
.showcase-tab:focus-visible { outline:2px solid #0b66b2; outline-offset:2px; }
.showcase-grid { grid-template-columns: minmax(0, 1fr); }
.showcase-card { grid-template-columns: minmax(0, 1fr); min-height: 0; padding: 18px 22px; }
.showcase-card-body { min-width: 0; }
.showcase-card h3 { font-size: 20px; overflow-wrap: anywhere; }
.showcase-card p { line-height: 1.6; overflow-wrap: anywhere; }
.showcase-card .showcase-scope { -webkit-line-clamp: 3; }
.showcase-card .btn { min-height: 40px; font-size: 14px; }
.showcase-empty { margin: 0; color: #617283; }
@media (min-width: 761px) and (max-width: 1000px) {
  .home-market { grid-template-columns: 210px minmax(0, 1fr); }
  .supplier-billboard { padding: 16px; }
  .billboard-card { padding: 18px; }
  .subcategory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .showcase-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .ask-first { width: 100%; }
  .wrap { width: calc(100% - 24px); }
  .home-market { height: auto; grid-template-columns: minmax(0, 1fr); grid-template-rows: 64px 380px; }
  .category-board { padding: 8px; height: 64px; min-height: 0; overflow-x: auto; }
  .home-category-list { display: flex; height: 44px; min-width: max-content; }
  .home-category { height: 44px; min-width: 112px; }
  .home-category.is-active { box-shadow: inset 0 -3px 0 #58c7cf; }
  .supplier-billboard { height: 380px; min-height: 0; padding: 12px; }
  .billboard-card { padding: 16px; }
  .home-market.is-flyout-open .billboard-list { display: grid; }
  .subcategory-flyout { position: absolute; inset: 0; overflow-y: auto; }
  .showcase-tabs-row { align-items: center; }
  .showcase-grid { display: grid; grid-template-columns: minmax(0, 1fr); overflow: visible; }
  .category-showcase { padding: 16px; }
  .showcase-card { padding: 16px; }
  .showcase-card h3 { font-size: 18px; }
  .showcase-head .btn { white-space: normal; }
  .showcase-tabs-list { display:flex; gap:6px; overflow-x:auto; padding-bottom:3px; }
  .showcase-tab { flex:0 0 auto; width:auto; padding:9px 14px; }
}
