* { box-sizing: border-box; }
body {
  font-family: system-ui, sans-serif;
  margin: 0;
  background: #faf7f2;
  color: #2b2b2b;
}
header {
  padding: 1.5rem;
  text-align: center;
  border-bottom: 1px solid #e5ddd0;
}
.filters button {
  margin: 0.25rem;
  padding: 0.4rem 0.9rem;
  border: 1px solid #c9a15a;
  background: white;
  color: #7a5a20;
  border-radius: 999px;
  cursor: pointer;
}
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  padding: 1.5rem;
}
.card {
  display: block;
  background: white;
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 0.75rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s ease;
}
.card:hover { transform: translateY(-3px); }
.card img { width: 100%; border-radius: 6px; aspect-ratio: 1; object-fit: cover; }
.card h3 { margin: 0.5rem 0 0.1rem; font-size: 1rem; }
.card .brand { color: #888; font-size: 0.85rem; margin: 0; }
.card .price { color: #a8792e; font-weight: 600; margin: 0.25rem 0 0; }
footer { text-align: center; padding: 1rem; color: #888; font-size: 0.8rem; }

.admin-wrap { max-width: 700px; margin: 1rem auto; padding: 0 1rem; }
.admin-wrap section { margin-bottom: 2rem; }
.admin-wrap label { display: block; margin-bottom: 0.75rem; }
.admin-wrap input, .admin-wrap select, .admin-wrap textarea {
  width: 100%; padding: 0.5rem; margin-top: 0.25rem;
}
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 0.5rem; border-bottom: 1px solid #eee; }
