:root { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
body { margin: 0; background: #fafafa; color: #111; }
.container { max-width: 1100px; margin: 0 auto; padding: 16px; }
.topbar { background: #111; color: #fff; }
.topbar a, .topbar button { color: #fff; }
.row { display: flex; align-items: center; gap: 12px; }
.row.space { justify-content: space-between; }
.row.right { justify-content: flex-end; }
.gap { gap: 18px; }
.grow { flex: 1; }
.brand { font-weight: 800; text-decoration: none; margin-right: 16px; }
.search input { padding: 8px; min-width: 320px; }
.nav a { text-decoration: none; margin-left: 10px; }
.inline { display: inline; }
.footer { color: #666; }
.grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.card { background: #fff; border: 1px solid #e8e8e8; border-radius: 12px; padding: 14px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.card img { width: 100%; height: 160px; object-fit: cover; border-radius: 10px; }
.hero { width: 420px; max-width: 100%; height: 320px; object-fit: cover; border-radius: 12px; border: 1px solid #e8e8e8; background: #fff; }
.price { font-size: 18px; font-weight: 800; margin: 8px 0; }
.muted { color: #666; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { border-bottom: 1px solid #eee; padding: 10px; vertical-align: top; }
.stack { display: flex; flex-direction: column; gap: 10px; }
.narrow { max-width: 420px; }
input, textarea, button { padding: 10px; border-radius: 10px; border: 1px solid #ddd; }
button, .button { background: #111; color: #fff; border: 0; cursor: pointer; padding: 10px 12px; border-radius: 10px; text-decoration: none; display: inline-block; text-align: center; }
button:hover, .button:hover { opacity: .92; }
.summary { min-width: 260px; }
.list { list-style: none; padding: 0; margin: 0; }
.list li { padding: 6px 0; }
.notice { background: #e9fff1; border: 1px solid #b7f5cf; padding: 10px 12px; border-radius: 12px; }
hr { border: 0; border-top: 1px solid #eee; margin: 12px 0; }