.products-page { margin-top: 90px; }
.filter-bar {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
  gap: 12px; margin-bottom: 12px;
}
.filter-bar h1 { margin: 0; font-size: 28px; color: #402c1d; }
.filter-meta { font-size: 13px; color: #6b5e57; margin-bottom: 16px; }

.filter-dropdown { position: relative; }
.filter-panel {
  display: none; position: absolute; right: 0; margin-top: 10px;
  background: #fff; border: 1px solid #eee; border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0,0,0,.12); padding: 12px; min-width: 260px;
  z-index: 2000;
}
.filter-panel form { display: grid; gap: 12px; }
.filter-panel label { display: grid; gap: 6px; font-size: 13px; }
.filter-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 8px; }

.product-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr));
  gap: 18px;
}
.product-card {
  background: #fff; border: 1px solid #eee; border-radius: 16px; overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.06); transition: transform .15s ease, box-shadow .15s ease;
}
.product-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.10); }
.product-card a { color: inherit; text-decoration: none; display: block; }

.product-image { aspect-ratio: 4/3; overflow: hidden; background: #faf7f4; }
.product-image img { width: 100%; height: 100%; object-fit: cover; }
.product-body { padding: 14px 16px; }
.product-body h3 { margin: 0 0 6px; font-size: 18px; color: #3b2a1d; }
.product-body p { margin: 0 0 10px; font-size: 14px; color: #6b5e57; min-height: 42px; }
.product-meta { display: flex; justify-content: space-between; align-items: center; }
.price { font-size: 16px; color: #2aa8a5; }
.not-available { color: #a22626; font-weight: 600; font-size: 14px; }
.badge { font-size: 12px; padding: 3px 10px; border-radius: 999px; border: 1px solid #e6d9cf; color: #7a5b49; }

.allergens { margin-top: 8px; display: flex; gap: 6px; flex-wrap: wrap; }
.allergens span { font-size: 11px; padding: 3px 8px; border-radius: 999px; background: #fff0f0; color: #a22626; }

.product-footer{
  padding:12px;
  border-top:1px solid #eee;
  display:flex;
  gap:10px;
  justify-content:space-between;
  align-items:center;
}
.product-footer .qty-input{
  width:64px;
  padding:6px 8px;
  border:1px solid #e6e0da;
  border-radius:10px;
}
.product-footer .not-available{
  color:#a22626; font-weight:600; font-size:14px;
}
.product-footer .price-right{
  font-size:14px; color:#6b5e57;
}
.co-actions {
  display: flex;
  justify-content: flex-end; /* Align buttons to right */
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
