Blame view

frontend/static/css/style.css 10.8 KB
a7920e17   tangwang   项目名称和部署路径修改
1
  /* saas-search - Modern Clean UI */
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
2
3
4
5
6
7
8
9
  
  * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
  }
  
  body {
a7a8c6cb   tangwang   测试过滤、聚合、排序
10
11
12
13
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
      background: #f5f5f5;
      color: #333;
      line-height: 1.6;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
14
15
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
16
17
  .page-container {
      max-width: 1400px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
18
      margin: 0 auto;
a7a8c6cb   tangwang   测试过滤、聚合、排序
19
20
      background: white;
      min-height: 100vh;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
21
22
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
23
24
25
26
27
28
29
30
  /* Header */
  .top-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 15px 30px;
      background: white;
      border-bottom: 1px solid #e0e0e0;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
31
32
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
33
34
35
36
37
38
39
40
41
42
  .header-left {
      display: flex;
      align-items: center;
      gap: 30px;
  }
  
  .logo {
      font-size: 24px;
      font-weight: bold;
      color: #e74c3c;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
43
44
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
45
46
47
48
  .product-count {
      color: #e74c3c;
      font-size: 14px;
      font-weight: 500;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
49
50
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
51
52
53
  .fold-btn {
      padding: 6px 20px;
      border: 1px solid #ddd;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
54
      background: white;
a7a8c6cb   tangwang   测试过滤、聚合、排序
55
56
57
58
      border-radius: 4px;
      cursor: pointer;
      font-size: 14px;
      transition: all 0.2s;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
59
60
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
61
62
63
64
65
66
  .fold-btn:hover {
      background: #f5f5f5;
  }
  
  /* Search Bar */
  .search-bar {
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
67
68
      display: flex;
      gap: 10px;
a7a8c6cb   tangwang   测试过滤、聚合、排序
69
70
71
      padding: 20px 30px;
      background: white;
      border-bottom: 1px solid #e0e0e0;
4d824a77   tangwang   所有租户共用一套统一配置.tena...
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
      align-items: center;
  }
  
  .tenant-input-wrapper {
      display: flex;
      align-items: center;
      gap: 8px;
  }
  
  .tenant-input-wrapper label {
      font-size: 14px;
      color: #666;
      white-space: nowrap;
  }
  
c4263d93   tangwang   支持 sku_filter_dim...
87
88
  #tenantInput,
  #skuFilterDimension {
4d824a77   tangwang   所有租户共用一套统一配置.tena...
89
90
91
92
93
94
95
96
      width: 120px;
      padding: 10px 15px;
      font-size: 14px;
      border: 1px solid #ddd;
      border-radius: 4px;
      outline: none;
  }
  
c4263d93   tangwang   支持 sku_filter_dim...
97
98
  #tenantInput:focus,
  #skuFilterDimension:focus {
4d824a77   tangwang   所有租户共用一套统一配置.tena...
99
      border-color: #e74c3c;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
100
101
102
103
  }
  
  #searchInput {
      flex: 1;
a7a8c6cb   tangwang   测试过滤、聚合、排序
104
105
106
107
108
      padding: 10px 15px;
      font-size: 14px;
      border: 1px solid #ddd;
      border-radius: 4px;
      outline: none;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
109
110
111
  }
  
  #searchInput:focus {
a7a8c6cb   tangwang   测试过滤、聚合、排序
112
      border-color: #e74c3c;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
113
114
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
115
116
117
  .search-btn {
      padding: 10px 30px;
      background: #e74c3c;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
118
119
      color: white;
      border: none;
a7a8c6cb   tangwang   测试过滤、聚合、排序
120
121
122
      border-radius: 4px;
      font-size: 14px;
      font-weight: 500;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
123
      cursor: pointer;
a7a8c6cb   tangwang   测试过滤、聚合、排序
124
      transition: background 0.2s;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
125
126
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
127
128
  .search-btn:hover {
      background: #c0392b;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
129
130
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
131
132
133
134
135
  /* Filter Section */
  .filter-section {
      padding: 15px 30px;
      background: white;
      border-bottom: 1px solid #e0e0e0;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
136
137
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
138
139
140
141
142
  .filter-section.hidden {
      display: none;
  }
  
  .filter-row {
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
143
144
      display: flex;
      align-items: center;
a7a8c6cb   tangwang   测试过滤、聚合、排序
145
146
      margin-bottom: 12px;
      gap: 15px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
147
148
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
149
150
151
152
153
  .filter-row:last-child {
      margin-bottom: 0;
  }
  
  .filter-label {
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
154
      font-size: 14px;
a7a8c6cb   tangwang   测试过滤、聚合、排序
155
156
157
      color: #666;
      font-weight: 500;
      min-width: 90px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
158
159
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
160
161
162
163
164
  .filter-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      flex: 1;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
165
166
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
167
168
169
  .filter-tag {
      padding: 6px 15px;
      background: #f8f8f8;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
170
      border: 1px solid #ddd;
a7a8c6cb   tangwang   测试过滤、聚合、排序
171
172
      border-radius: 4px;
      font-size: 13px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
173
174
      cursor: pointer;
      transition: all 0.2s;
a7a8c6cb   tangwang   测试过滤、聚合、排序
175
176
177
178
179
      white-space: nowrap;
  }
  
  .filter-tag:hover {
      background: #e8e8e8;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
180
181
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
182
183
  .filter-tag.active {
      background: #e74c3c;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
184
      color: white;
a7a8c6cb   tangwang   测试过滤、聚合、排序
185
      border-color: #e74c3c;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
186
187
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
  .filter-dropdowns {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items: center;
  }
  
  .filter-dropdowns select {
      padding: 6px 12px;
      border: 1px solid #ddd;
      border-radius: 4px;
      font-size: 13px;
      background: white;
      cursor: pointer;
      outline: none;
  }
  
  .clear-filters-btn {
      padding: 6px 15px;
      background: #e74c3c;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
208
      color: white;
a7a8c6cb   tangwang   测试过滤、聚合、排序
209
210
211
212
213
      border: none;
      border-radius: 4px;
      font-size: 13px;
      cursor: pointer;
      transition: background 0.2s;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
214
215
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
216
217
  .clear-filters-btn:hover {
      background: #c0392b;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
218
219
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
220
221
222
223
224
225
226
227
228
  /* Sort Section */
  .sort-section {
      display: flex;
      align-items: center;
      padding: 15px 30px;
      background: white;
      border-bottom: 1px solid #e0e0e0;
      gap: 10px;
      flex-wrap: wrap;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
229
230
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
231
232
  .sort-btn {
      padding: 8px 16px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
233
      background: white;
a7a8c6cb   tangwang   测试过滤、聚合、排序
234
235
236
237
238
239
240
241
242
      border: 1px solid #ddd;
      border-radius: 4px;
      font-size: 13px;
      cursor: pointer;
      transition: all 0.2s;
      display: flex;
      align-items: center;
      gap: 8px;
      white-space: nowrap;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
243
244
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
245
246
  .sort-btn:hover {
      background: #f8f8f8;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
247
248
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
249
250
251
252
  .sort-btn.active {
      background: #e74c3c;
      color: white;
      border-color: #e74c3c;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
253
254
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
255
256
257
258
259
260
  .sort-arrows {
      display: inline-flex;
      flex-direction: column;
      gap: 0;
      font-size: 10px;
      line-height: 1;
edd38328   tangwang   测试过滤、聚合、排序
261
      margin-left: 4px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
262
263
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
264
265
  .arrow-up, .arrow-down {
      cursor: pointer;
edd38328   tangwang   测试过滤、聚合、排序
266
267
268
269
      padding: 2px 4px;
      transition: all 0.2s;
      opacity: 0.4;
      border-radius: 2px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
270
271
  }
  
edd38328   tangwang   测试过滤、聚合、排序
272
273
274
  .arrow-up:hover, .arrow-down:hover {
      opacity: 0.7;
      background: rgba(231, 76, 60, 0.1);
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
275
276
  }
  
edd38328   tangwang   测试过滤、聚合、排序
277
278
  .arrow-up.active, .arrow-down.active {
      opacity: 1;
a7a8c6cb   tangwang   测试过滤、聚合、排序
279
      color: #e74c3c;
edd38328   tangwang   测试过滤、聚合、排序
280
281
      font-weight: bold;
      background: rgba(231, 76, 60, 0.15);
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
282
283
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
284
285
  .sort-right {
      margin-left: auto;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
286
287
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
288
289
290
291
292
293
294
  .sort-right select {
      padding: 8px 12px;
      border: 1px solid #ddd;
      border-radius: 4px;
      font-size: 13px;
      background: white;
      cursor: pointer;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
295
296
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
297
298
299
300
301
  /* Loading */
  .loading {
      text-align: center;
      padding: 60px 20px;
      background: white;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
302
303
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
304
305
306
307
308
309
310
311
  .spinner {
      width: 40px;
      height: 40px;
      margin: 0 auto 20px;
      border: 3px solid #f3f3f3;
      border-top: 3px solid #e74c3c;
      border-radius: 50%;
      animation: spin 1s linear infinite;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
312
313
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
314
315
  @keyframes spin {
      to { transform: rotate(360deg); }
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
316
317
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
318
319
320
  .loading p {
      color: #666;
      font-size: 14px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
321
322
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
323
324
  /* Product Grid */
  .product-grid {
985752f5   tangwang   1. 前端调试功能
325
326
327
      display: flex;
      flex-direction: column;
      gap: 16px;
a7a8c6cb   tangwang   测试过滤、聚合、排序
328
329
330
      padding: 30px;
      background: #f8f8f8;
      min-height: 400px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
331
332
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
333
334
335
  .product-card {
      background: white;
      border: 1px solid #e0e0e0;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
336
      border-radius: 8px;
a7a8c6cb   tangwang   测试过滤、聚合、排序
337
338
      padding: 15px;
      transition: all 0.3s;
985752f5   tangwang   1. 前端调试功能
339
340
341
342
343
344
345
346
      cursor: default;
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      gap: 16px;
  }
  
  .product-main {
a7a8c6cb   tangwang   测试过滤、聚合、排序
347
348
      display: flex;
      flex-direction: column;
985752f5   tangwang   1. 前端调试功能
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
      width: 260px;
      flex-shrink: 0;
  }
  
  .product-debug {
      flex: 1;
      font-family: Menlo, Consolas, "Courier New", monospace;
      font-size: 12px;
      color: #555;
      border-left: 1px dashed #eee;
      padding-left: 12px;
      max-height: 260px;
      overflow: auto;
  }
  
  .product-debug-title {
      font-weight: 600;
      margin-bottom: 6px;
      color: #333;
  }
  
  .product-debug-line {
      margin-bottom: 2px;
  }
  
  .product-debug-link {
      display: inline-block;
      margin-top: 6px;
      font-size: 12px;
      color: #e67e22;
      text-decoration: none;
  }
  
  .product-debug-link:hover {
      text-decoration: underline;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
384
385
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
386
387
388
  .product-card:hover {
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      transform: translateY(-2px);
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
389
390
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
391
  .product-image-wrapper {
985752f5   tangwang   1. 前端调试功能
392
      width: 220px;
a7a8c6cb   tangwang   测试过滤、聚合、排序
393
394
395
396
397
398
399
400
      height: 180px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #fafafa;
      border-radius: 6px;
      margin-bottom: 12px;
      overflow: hidden;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
401
402
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
403
404
405
406
407
408
409
410
411
412
413
  .product-image {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
  }
  
  .product-badge {
      position: absolute;
      top: 10px;
      right: 10px;
      background: #f39c12;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
414
      color: white;
a7a8c6cb   tangwang   测试过滤、聚合、排序
415
416
417
418
      padding: 3px 8px;
      border-radius: 3px;
      font-size: 11px;
      font-weight: bold;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
419
420
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
421
422
423
424
425
426
427
428
429
  .product-price {
      font-size: 18px;
      font-weight: bold;
      color: #e74c3c;
      margin-bottom: 8px;
  }
  
  .product-moq {
      font-size: 12px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
430
      color: #666;
a7a8c6cb   tangwang   测试过滤、聚合、排序
431
      margin-bottom: 4px;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
432
433
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
434
435
436
  .product-quantity {
      font-size: 12px;
      color: #666;
115047ee   tangwang   为一个租户灌入测试数据;实例的启动...
437
438
      margin-bottom: 10px;
  }
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
439
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
  .product-title {
      font-size: 13px;
      color: #333;
      line-height: 1.4;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      text-overflow: ellipsis;
      min-height: 36px;
      margin-bottom: 8px;
  }
  
  .product-meta {
      font-size: 11px;
      color: #999;
      margin-top: auto;
      padding-top: 8px;
      border-top: 1px solid #f0f0f0;
  }
  
edd38328   tangwang   测试过滤、聚合、排序
461
462
463
464
465
466
467
  .product-time {
      font-size: 10px;
      color: #aaa;
      margin-top: 4px;
      font-style: italic;
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
468
469
470
471
472
473
474
475
476
477
478
479
  .product-label {
      display: inline-block;
      background: #e74c3c;
      color: white;
      padding: 2px 8px;
      border-radius: 3px;
      font-size: 11px;
      margin-top: 6px;
  }
  
  /* Pagination */
  .pagination {
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
480
      display: flex;
a7a8c6cb   tangwang   测试过滤、聚合、排序
481
482
483
484
485
      justify-content: center;
      align-items: center;
      gap: 10px;
      padding: 30px;
      background: white;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
486
487
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
488
489
490
  .page-btn {
      padding: 8px 16px;
      border: 1px solid #ddd;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
491
      background: white;
a7a8c6cb   tangwang   测试过滤、聚合、排序
492
493
494
495
      border-radius: 4px;
      cursor: pointer;
      font-size: 14px;
      transition: all 0.2s;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
496
497
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
498
499
500
  .page-btn:hover:not(:disabled) {
      background: #f8f8f8;
      border-color: #e74c3c;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
501
502
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
503
504
505
  .page-btn:disabled {
      opacity: 0.5;
      cursor: not-allowed;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
506
507
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
508
509
  .page-btn.active {
      background: #e74c3c;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
510
      color: white;
a7a8c6cb   tangwang   测试过滤、聚合、排序
511
      border-color: #e74c3c;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
512
513
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
514
  .page-info {
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
515
      font-size: 14px;
a7a8c6cb   tangwang   测试过滤、聚合、排序
516
517
      color: #666;
      padding: 0 15px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
518
519
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
520
521
522
523
524
525
  /* Debug Info */
  .debug-info {
      margin: 20px 30px;
      border: 1px solid #ddd;
      border-radius: 4px;
      background: #f9f9f9;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
526
527
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
528
529
  .debug-info summary {
      padding: 12px 15px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
530
      cursor: pointer;
a7a8c6cb   tangwang   测试过滤、聚合、排序
531
532
533
      font-weight: 500;
      font-size: 14px;
      color: #666;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
534
535
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
536
537
  .debug-info summary:hover {
      background: #f0f0f0;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
538
539
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
540
541
542
543
  .query-info-content {
      padding: 15px;
      border-top: 1px solid #ddd;
      font-size: 13px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
544
545
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
546
547
548
549
  .info-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 12px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
550
551
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
552
553
554
555
556
  .info-item {
      padding: 12px;
      background: white;
      border: 1px solid #e0e0e0;
      border-radius: 4px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
557
558
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
559
560
561
562
563
  .info-item strong {
      display: block;
      color: #e74c3c;
      margin-bottom: 6px;
      font-size: 12px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
564
565
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
566
567
568
  .info-item span {
      color: #333;
      font-size: 13px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
569
570
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
571
572
573
574
575
576
577
  /* Footer */
  footer {
      text-align: center;
      padding: 20px;
      background: #333;
      color: white;
      font-size: 13px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
578
579
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
580
581
  footer span {
      color: #e74c3c;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
582
583
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
584
585
586
587
588
589
  /* No Results */
  .no-results {
      text-align: center;
      padding: 80px 20px;
      background: white;
      color: #666;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
590
591
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
592
593
594
595
  .no-results h3 {
      font-size: 24px;
      margin-bottom: 10px;
      color: #999;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
596
597
  }
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
  /* Error Message */
  .error-message {
      background: #ffe6e6;
      color: #c0392b;
      padding: 20px;
      margin: 30px;
      border-radius: 8px;
      border-left: 4px solid #e74c3c;
  }
  
  .error-message strong {
      display: block;
      margin-bottom: 8px;
      font-size: 16px;
  }
  
  /* Responsive Design */
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
615
  @media (max-width: 768px) {
a7a8c6cb   tangwang   测试过滤、聚合、排序
616
617
618
619
620
621
622
623
624
625
626
627
628
      .top-header {
          padding: 12px 15px;
      }
      
      .search-bar {
          padding: 15px;
      }
      
      .filter-section {
          padding: 12px 15px;
      }
      
      .filter-row {
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
629
          flex-direction: column;
a7a8c6cb   tangwang   测试过滤、聚合、排序
630
631
          align-items: flex-start;
          gap: 8px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
632
      }
a7a8c6cb   tangwang   测试过滤、聚合、排序
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
      
      .filter-label {
          min-width: auto;
      }
      
      .sort-section {
          padding: 12px 15px;
      }
      
      .product-grid {
          grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
          gap: 15px;
          padding: 15px;
      }
      
      .pagination {
          padding: 20px 15px;
          flex-wrap: wrap;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
651
      }
a7a8c6cb   tangwang   测试过滤、聚合、排序
652
  }
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
653
  
a7a8c6cb   tangwang   测试过滤、聚合、排序
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
  @media (max-width: 480px) {
      .product-grid {
          grid-template-columns: repeat(2, 1fr);
      }
      
      .header-left {
          gap: 15px;
      }
      
      .logo {
          font-size: 18px;
      }
      
      .product-count {
          font-size: 12px;
c86c8237   tangwang   支持聚合。过滤项补充了逻辑,但是有问题
669
670
      }
  }