:root{
  --green:#2d6a4f;
  --cream:#fcefd0;
  --cinnamon:#8c5e3e;
  --dark:#1f2933;
  --light:#ffffff;
  --accent:#d4a373;
  font-family: Georgia, "Times New Roman", serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--cream);color:var(--dark)}
a{color:var(--green)}
header{
  background:var(--green);
  color:var(--light);
  padding:48px 16px;
  text-align:center;
}
header h1{margin:0 0 8px;font-size:2.6rem}
header p{margin:0 0 18px;opacity:.92}
.cta{
  display:inline-block;
  background:var(--accent);
  color:#fff;
  padding:12px 18px;
  border-radius:6px;
  text-decoration:none;
  font-weight:bold;
}
nav{
  background:#ffffff11;
  padding:14px;
  text-align:center;
}
nav a{color:#fff;margin:0 12px;text-decoration:none;font-weight:bold}
section{padding:36px 16px;max-width:980px;margin:0 auto}
.menu-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
}
.card{
  background:var(--light);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 2px 10px #00000014;
}
.card img{width:100%;height:180px;object-fit:cover;display:block}
.card-body{padding:14px}
.card h3{margin:0 0 6px;color:var(--cinnamon)}
.price{font-weight:bold;color:var(--green)}
.add-btn{
  margin-top:10px;
  width:100%;
  background:var(--green);
  color:#fff;
  border:0;
  padding:10px;
  border-radius:6px;
  cursor:pointer;
}
footer{
  background:var(--dark);
  color:#fff;
  text-align:center;
  padding:18px;
  font-size:.9rem;
}
.cart-badge{
  margin-left:8px;
  background:#fff;
  color:var(--green);
  padding:2px 8px;
  border-radius:999px;
  font-size:.8rem;
  vertical-align:middle;
}
