:root { --max: 1100px; --gap: 16px; }
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Noto Sans', system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif; color: #111; background: #fff; }
.container { width: min(100%, var(--max)); margin: 0 auto; padding: 0 16px; }

.nav { position: sticky; top: 0; background: #fff; border-bottom: 1px solid #eee; z-index: 10; }
.nav .container { display: flex; align-items: center; gap: 16px; padding: 12px 16px; }
.brand { font-weight: 700; letter-spacing: 2px; font-size: 42px; text-decoration: none; color: inherit; }
.nav-links { margin-left: auto; }
.nav-links ul { display: flex; gap: 18px; list-style: none; padding: 0; margin: 0; }
.nav-links a { text-decoration: none; color: #333; }
.search input { width: 240px; padding: 8px 10px; border: 1px solid #ddd; border-radius: 6px; }

.hero { border-bottom: 1px solid #f0f0f0; }
.hero-inner { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 24px; padding: 28px 0; }
.hero h1 { margin: 0 0 8px; font-size: 28px; }
.hero p { margin: 0 0 14px; color: #666; }
.hero-actions { display: flex; gap: 10px; }
.btn { padding: 10px 14px; border: 1px solid #111; background: #fff; border-radius: 6px; cursor: pointer; }
.btn.primary { background: #111; color: #fff; border-color: #111; }
/* Make '口碑' appear as a plain text link without border */
.btn.link { 
  border: none; 
  background: transparent; 
  padding: 0; 
  color: #333; 
  border-radius: 0;
}

.merchant-desc {
  margin: 6px 0 0;
  color: #666;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.main-grid { display: grid; grid-template-columns: 220px 1fr; gap: var(--gap); padding: 20px 0; }
.filters h3 { margin: 0 0 10px; }
.filters ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.filter-btn { width: 100%; text-align: left; padding: 8px 10px; border: 1px solid #ddd; background: #fff; border-radius: 6px; cursor: pointer; }

.products { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--gap); }
.card { border: 1px solid #eee; border-radius: 10px; overflow: hidden; display: grid; gap: 10px; padding: 10px; }
.card img { width: 100%; height: 180px; object-fit: cover; display: block; border-radius: 6px; }
.price { font-weight: 700; }

.merchant-card img { object-fit: contain; background: #f8f8f8; }

@media (max-width: 960px) {
  .search input { width: 180px; }
  .hero-inner { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .nav .container { flex-wrap: wrap; }
  .nav-links { order: 2; width: 100%; }
  .nav-links ul { justify-content: flex-end; }
  .search { order: 3; width: 100%; display: flex; justify-content: flex-end; }
  .search input { width: 100%; max-width: 320px; }

  .main-grid { grid-template-columns: 1fr; }
  .filters { order: -1; }
  .card img { height: 160px; }
  .hero h1 { font-size: 24px; }
}