:root{
  --bg: #faf7f2;
  --paper: #ffffff;
  --ink: #1f2937;
  --brand: #8b5e34;
  --brand-2: #5a3b1e;
  --accent: #dbc2a4;
}
*{ box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans"; color: var(--ink); background: var(--bg); }
a{ color: var(--brand-2); text-decoration: none; }
a:hover{ text-decoration: underline; }

.container { max-width: 1120px; margin: 0 auto; padding: 0 16px; }
.header{ background: var(--paper); border-bottom: 1px solid #eee; position: sticky; top:0; z-index:10; }
.nav{ display:flex; align-items:center; justify-content:space-between; padding: 14px 0; }
.brand { font-weight: 800; letter-spacing: .2px; color: var(--brand-2); }
.menu{ display:flex; gap:16px; align-items:center; }
.menu a{ padding:8px 12px; border-radius: 10px; }
.menu a.active, .menu a:hover{ background: var(--accent); }

.hero{ background: linear-gradient(180deg, #fff 0%, #f5efe7 100%); padding: 48px 0; }
.hero h1{ font-size: clamp(28px, 4vw, 44px); margin:0 0 8px; color: var(--brand-2); }
.hero p{ max-width: 760px; font-size: clamp(16px, 2vw, 18px); line-height: 1.6; }

.grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:20px; margin: 28px 0 8px; }
.card{ background: var(--paper); border: 1px solid #ececec; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,.04); }
.card img{ width:100%; height:220px; object-fit: cover; display:block; }
.card .p{ padding: 14px 16px 18px; }
.card h3{ margin:0 0 8px; color: var(--brand-2); }
.card p{ margin:0; color:#374151; }

.cta{ display:flex; gap:12px; flex-wrap: wrap; margin-top: 12px; }
.btn{ display:inline-flex; align-items:center; justify-content:center; padding: 10px 14px; border-radius: 10px; border:1px solid transparent; background: var(--brand); color:#fff; font-weight:600; cursor:pointer; }
.btn:hover{ background: var(--brand-2); }

.footer{ margin-top: 48px; padding: 24px 0; background: var(--paper); border-top:1px solid #eee; font-size: 14px; color:#4b5563; }

.product{ display:grid; gap:24px; grid-template-columns: 1.2fr 1fr; margin: 32px 0; }
.product img{ width:100%; height:auto; border-radius: 16px; border:1px solid #eee; box-shadow: 0 8px 20px rgba(0,0,0,.04); }
.product h1{ margin-top:0; color: var(--brand-2); }
.badge{ display:inline-block; background: #f6e7d6; color: #6b4a2d; padding: 6px 10px; border-radius: 999px; font-weight:600; }

.kv{ display:grid; grid-template-columns: 1fr 2fr; gap:8px; margin: 16px 0; }
.kv div{ padding: 6px 0; border-bottom: 1px dashed #e5e7eb; }
.kv b{ color:#374151; }

.form{ background: var(--paper); border:1px solid #eee; border-radius: 16px; padding: 18px; box-shadow: 0 8px 20px rgba(0,0,0,.04);} 
.field{ margin-bottom: 12px; }
label{ display:block; font-weight:600; margin-bottom: 6px;}
input, select{ width:100%; padding: 10px 12px; border-radius: 10px; border:1px solid #e5e7eb; background:#fff; color:#111827; }
input:focus, select:focus{ outline:none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(139,94,52,.15); }

.alert{ padding: 10px 12px; border-radius: 10px; margin-top: 10px; }
.alert.ok{ background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.alert.err{ background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }

.note{ font-size: 12px; color:#6b7280; }

@media (max-width: 900px){
  .grid{ grid-template-columns: 1fr; }
  .product{ grid-template-columns: 1fr; }
  .menu{ gap:8px; flex-wrap: wrap; }
}
