:root { --maxw: 1100px; --gap: 1rem; --radius: 14px; }
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color:#111; background:#fafafa; }
header { border-bottom: 1px solid #eee; background: white; position: sticky; top: 0; z-index: 10; }
header .wrap { max-width: var(--maxw); margin: 0 auto; padding: 1rem; display:flex; align-items:center; justify-content:space-between; }
header a { text-decoration:none; color:#111; font-weight:600; }
.container { max-width: var(--maxw); margin: 0 auto; padding: 1rem; }
.grid { display:grid; grid-template-columns: repeat( auto-fit, minmax(230px, 1fr) ); gap: var(--gap); }
.card { background:white; border:1px solid #eee; border-radius: var(--radius); overflow:hidden; display:flex; flex-direction:column; }
.card img { width:100%; aspect-ratio: 4/3; object-fit:cover; display:block; }
.card .body { padding: .8rem 1rem 1rem; display:flex; flex-direction:column; gap:.4rem; }
.card h3 { margin:0; font-size: 1.05rem; }
.price { font-weight:700; }
.badge { font-size:.75rem; color:#0a7; background:#e8fff4; border:1px solid #bdf0d7; padding:.2rem .5rem; border-radius:999px; display:inline-block; }
.search { margin: .5rem 0 1rem; display:flex; gap:.5rem; }
.search input { flex:1; padding:.65rem .75rem; border-radius:10px; border:1px solid #ddd; }
.footer { color:#666; text-align:center; padding:2rem; }
@media (hover:hover) { .card:hover { box-shadow: 0 10px 30px rgba(0,0,0,.06);} }



.site-settings {
  margin: 1rem 0 2rem 0;
  padding: 1rem 1.25rem;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #eee;
}

.site-settings h2 {
  margin: 0 0 0.75rem 0;
  font-size: 1.05rem;
}

.site-settings-form .site-description-input {
  width: 100%;
  min-height: 90px;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-family: inherit;
  font-size: 0.95rem;
  resize: vertical;
  box-sizing: border-box;
}

.site-settings-form .actions {
  margin-top: 0.75rem;
}

.flash-success {
  margin: 0.5rem 0 0.75rem 0;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  background: #e6f7ea;
  border: 1px solid #b7e1c2;
  font-size: 0.9rem;
}
