:root{
  --bg:#faf7f2;
  --paper:#ffffff;
  --ink:#2b2b2b;
  --muted:#6b6b6b;
  --brand:#4a3214;
  --accent:#cc8033;
  --accent-2:#ffe6a7;
  --radius:16px;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.6;
  background:var(--bg);
  color:var(--ink);
}
.container{max-width:1050px;margin:0 auto;padding:24px 16px}

/* Header / nav */
.site-header{
  position:sticky;top:0;z-index:10;
  backdrop-filter:saturate(140%) blur(10px);
  background: rgba(250,247,242,.85);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.brand{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;color:var(--brand);
  font-weight:800;letter-spacing:.2px;
}
.brand-badge{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:var(--accent-2);
  border:1px solid rgba(0,0,0,.08);
  font-weight:900;
}
.nav a{color:var(--brand);text-decoration:none}
.nav-links{display:flex;align-items:center;gap:14px}
.nav-links a{padding:8px 10px;border-radius:10px}
.nav-links a[aria-current="page"],
.nav-links a:hover{background:rgba(204,128,51,.12)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent);
  color:white;text-decoration:none;
  padding:10px 14px;border-radius:12px;
  font-weight:700;
  box-shadow: 0 8px 18px rgba(204,128,51,.25);
}
.btn:hover{filter:brightness(.98)}
.btn.secondary{background:transparent;color:var(--brand);border:1px solid rgba(0,0,0,.12);box-shadow:none}

/* Hero */
.hero{
  background: radial-gradient(1200px 400px at 50% 0%, rgba(255,230,167,.75), transparent 60%);
  padding:28px 0 10px;
}
.hero-card{
  background:rgba(255,255,255,.7);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  padding:22px;
}
.hero h1{margin:0;color:var(--brand);font-size:clamp(28px,4vw,44px);letter-spacing:-.5px}
.hero p{margin:10px 0 0;color:var(--muted);max-width:70ch}

/* Cards */
.grid{display:grid;gap:18px}
@media (min-width: 860px){.grid.cols-2{grid-template-columns:1fr 1fr}}
.card{
  background:var(--paper);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.card-body{padding:16px}
.card h2,.card h3{margin:0 0 8px;color:var(--brand)}
.card p{margin:0;color:var(--muted)}
.card img{width:100%;height:240px;object-fit:cover;display:block}
@media (min-width: 860px){.card img{height:280px}}

.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.badge{
  font-size:13px;line-height:1;
  padding:8px 10px;border-radius:999px;
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.06);
  color:var(--brand);
}

.meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;color:var(--muted);font-size:14px}
.meta span{display:inline-flex;gap:6px;align-items:center}

/* Recipe page */
.recipe-header{display:flex;flex-direction:column;gap:14px}
.recipe-header img{width:100%;border-radius:var(--radius);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow)}
@media (min-width: 900px){
  .recipe-header{flex-direction:row;align-items:stretch}
  .recipe-header .recipe-cover{flex:1.2}
  .recipe-header .recipe-intro{flex:1}
  .recipe-header img{height:100%;object-fit:cover}
}
.section{margin-top:18px}
.section h2{margin:0 0 10px;color:var(--brand)}
.list{padding-left:18px;margin:0;color:var(--ink)}
.list li{margin:6px 0}
.note{background:rgba(204,128,51,.10);border:1px solid rgba(204,128,51,.25);padding:12px 14px;border-radius:14px;color:var(--brand)}

footer{padding:34px 16px;text-align:center;color:var(--muted);font-size:14px}

/* Mobile nav fallback (simple) */
@media (max-width: 520px){
  .nav-links{gap:6px}
  .btn{padding:10px 12px}
}

/* --- Additions to support current HTML --- */

/* Small helpers */
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(204,128,51,.12);
  border:1px solid rgba(204,128,51,.22);
  color:var(--brand);
  font-weight:700;
  font-size:14px;
  width:fit-content;
}
.small{font-size:14px;color:var(--muted)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* Button variants used in HTML */
.btn-primary{ /* keep compatibility */
  background:var(--accent);
  color:#fff;
  box-shadow: 0 8px 18px rgba(204,128,51,.25);
}
.btn-primary:hover{filter:brightness(.98)}

/* Mobile menu button + panel */
.menu-btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.12);
  background:rgba(255,255,255,.7);
  border-radius:12px;
  padding:10px 12px;
  font-size:18px;
  line-height:1;
  color:var(--brand);
  cursor:pointer;
  display:none; /* shown on mobile */
}
.menu-btn:hover{background:rgba(204,128,51,.10)}

.mobile-panel{
  display:none;
  margin-top:10px;
  padding:10px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  background:rgba(255,255,255,.75);
  box-shadow: var(--shadow);
}
.mobile-panel a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:var(--brand);
  text-decoration:none;
}
.mobile-panel a:hover{background:rgba(204,128,51,.12)}
.mobile-panel.open{display:block}

/* Responsive nav: collapse links into hamburger */
@media (max-width: 700px){
  .nav-links{display:none}
  .menu-btn{display:inline-flex}
}

/* Footer class used in index.html */
.footer{padding:34px 16px;text-align:center;color:var(--muted);font-size:14px}