@charset "utf-8";
/* 仅作用于分类商品页，复用搜索页的视觉样式。 */
.category-list-page button { font-family: inherit; }
.category-list-page button:focus-visible,
.category-list-page input:focus-visible,
.category-list-page select:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 2px; }
.category-list-page .filter-bar button,
.category-list-page .filter-panel-close { border: 0; background-color: transparent; min-height: 2.5rem; }
.category-list-page .filter-bar .sort-options { gap: .65rem; }
.category-list-page .filter-bar .sort-item { padding: 0; }
.category-list-page .filter-bar .view-toggle { min-height: 1.2rem; padding: 0; }
.category-list-page .search-box-bar { display: flex; align-items: center; gap: .5rem; }
.category-list-page .search-box { flex: 1; min-width: 0; }
.category-search-submit { border: 0; background: transparent; color: var(--primary-color); padding: .5rem 0; font-size: .85rem; }
.category-list-page .selected-filters { display: flex; flex-wrap: wrap; gap: .4rem; padding: .5rem .75rem; }
.category-list-page .selected-filters:empty { display: none; }
.category-list-page .selected-filters button { max-width: 100%; border: 1px solid var(--border-color); background: #fff; color: var(--primary-color); border-radius: .3rem; padding: .4rem .5rem; font-size: .75rem; text-align: left; overflow-wrap: anywhere; }
.category-list-page .filter-mask { z-index: 1000; }
.category-list-page .filter-panel { width: 90%; max-width: 25rem; z-index: 1001; }
.category-list-page .filter-panel[hidden] { display: none; }
.category-list-page .filter-panel-header h2 { font-size: 1.06rem; font-weight: 600; }
.category-list-page .category-filter-form { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.category-list-page .filter-panel-body { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.category-list-page .filter-section-title { display: block; }
.category-list-page .filter-section select,
.category-list-page .filter-section input { width: 100%; box-sizing: border-box; border: 1px solid var(--border-color); border-radius: .3rem; padding: .6rem; background: #fff; color: var(--text-primary); font-size: .85rem; }
.category-list-page .filter-section input { margin-bottom: .5rem; }
.category-list-page .filter-section option { padding: .5rem .25rem; white-space: normal; }
.category-list-page .filter-help { font-size: .75rem; line-height: 1.6; color: #666; margin-top: .5rem; }
.category-list-page .filter-panel-footer { flex-shrink: 0; }
.category-list-page .filter-apply-btn { background: var(--primary-color); }
.category-list-page .category-empty { padding: 3rem 1rem; text-align: center; color: #666; }
.category-list-page .category-empty h2 { font-size: 1rem; color: var(--text-primary); margin-bottom: .5rem; }
.category-list-page .category-empty button { margin-top: 1rem; border: 0; border-radius: .3rem; background: var(--primary-color); color: #fff; padding: .6rem 1rem; }
.category-list-page .category-pagination { text-align: center; padding: 1rem .75rem; font-size: .85rem; }
.category-list-page .page-next { display: inline-block; padding: .6rem 2rem; background: #fff; border: 1px solid var(--border-color); border-radius: .4rem; color: var(--primary-color); }
.category-list-page .load-status { margin: .5rem 0; color: #666; }
.category-list-page .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (prefers-reduced-motion: reduce) { .category-list-page * { animation: none !important; transition: none !important; } }

.category-list-page .search-box-clear { border: 0; background-color: transparent; }
.category-list-page .selected-filters:not(:has(button)) { display: none; }
.category-list-page .search-box-input:focus-visible { outline: none; }
.category-list-page .search-box:focus-within { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .14); }
