@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root{
  --bg:#0b0b0b;
  --panel:#151515;
  --panel2:#1c1c1c;
  --text:#f7f3ea;
  --muted:#aaa69e;
  --accent:#d7ad55;
  --accent2:#f1cf83;
  --line:rgba(255,255,255,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",Arial,sans-serif}
.hero{
  min-height:330px;
  display:flex;align-items:flex-end;justify-content:center;
  background:
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.88)),
    radial-gradient(circle at 50% 30%,#59421c 0,#17130d 38%,#070707 75%);
  border-bottom:1px solid var(--line);
}
.hero-overlay{text-align:center;padding:70px 20px 42px}
.brand-mark{font:700 48px/1 "Playfair Display",serif;letter-spacing:5px;color:#fff}
.brand-sub{margin-top:7px;font-size:15px;letter-spacing:9px;color:var(--accent)}
.tagline{color:#ddd;margin:18px 0 0;font-size:14px;letter-spacing:2px}
main{max-width:1120px;margin:auto;padding:35px 18px 60px}
.menu-head{display:flex;justify-content:space-between;align-items:end;gap:20px}
.eyebrow{font-size:11px;letter-spacing:3px;color:var(--accent);font-weight:700}
h1{font:700 clamp(30px,5vw,48px)/1.1 "Playfair Display",serif;margin:8px 0 0}
.count{color:var(--muted);font-size:13px;white-space:nowrap}
.search-wrap{position:relative;margin:28px 0 18px}
.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-52%);font-size:26px;color:var(--accent)}
#search{
  width:100%;border:1px solid var(--line);background:var(--panel);
  color:var(--text);border-radius:14px;padding:15px 18px 15px 48px;
  font-size:15px;outline:none
}
#search:focus{border-color:rgba(215,173,85,.6);box-shadow:0 0 0 3px rgba(215,173,85,.08)}
.categories{
  display:flex;gap:9px;overflow-x:auto;padding:3px 1px 20px;
  scrollbar-width:none
}
.categories::-webkit-scrollbar{display:none}
.cat{
  flex:0 0 auto;border:1px solid var(--line);background:transparent;color:#d5d0c8;
  padding:9px 14px;border-radius:999px;font-weight:600;font-size:12px;cursor:pointer
}
.cat.active{background:var(--accent);color:#101010;border-color:var(--accent)}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.item{
  background:linear-gradient(145deg,var(--panel2),var(--panel));
  border:1px solid var(--line);border-radius:16px;padding:18px;
  min-height:94px;display:flex;flex-direction:column;justify-content:space-between
}
.item-top{display:flex;gap:14px;justify-content:space-between;align-items:flex-start}
.name{font-weight:700;font-size:15px;line-height:1.35}
.price{color:var(--accent2);font-weight:800;white-space:nowrap}
.meta{margin-top:10px;color:#88847c;font-size:10px;letter-spacing:1px;text-transform:uppercase}
.empty{text-align:center;padding:80px 20px;color:var(--muted)}
.empty-icon{font-size:42px}.empty h2{color:var(--text);margin-bottom:6px}
footer{text-align:center;border-top:1px solid var(--line);padding:34px 20px 55px;color:var(--muted);font-size:13px}
.footer-brand{color:var(--accent);letter-spacing:3px;font-weight:800}
@media(max-width:700px){
  .hero{min-height:275px}.brand-mark{font-size:38px}
  .menu-grid{grid-template-columns:1fr}
  main{padding-top:28px}
}
