@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Quicksand:wght@400;500;600;700&display=swap');

:root{
  --b4h-cream:#F5EFE6;
  --b4h-paper:#FBF6EE;
  --b4h-terracotta:#C97C5D;
  --b4h-mustard:#E1A95F;
  --b4h-olive:#8A9A5B;
  --b4h-dark:#3E2C23;
  --b4h-body:#5A473B;
  --b4h-line: rgba(62,44,35,0.22);
}

*{box-sizing:border-box;}

.b4h-menu-body{
  margin:0;
  color:var(--b4h-body);
  font-family:'Quicksand',sans-serif;
  background-color:var(--b4h-paper);
  background-image:
    radial-gradient(circle at 15% 8%, rgba(201,124,93,0.08) 0, transparent 45%),
    radial-gradient(circle at 90% 92%, rgba(138,154,91,0.10) 0, transparent 45%);
  padding-bottom:60px;
}

/* ---------- Hero ---------- */
.b4h-hero{
  background:var(--b4h-dark);
  color:#fff;
  text-align:center;
  padding:44px 20px 34px;
  position:relative;
  overflow:hidden;
}
.b4h-hero::before{
  content:'';
  position:absolute;inset:0;
  background-image: repeating-linear-gradient(135deg, rgba(225,169,95,0.05) 0 2px, transparent 2px 24px);
}
.b4h-logo{
  width:88px;height:88px;object-fit:contain;margin-bottom:14px;position:relative;z-index:1;
  border-radius:50%;background:#fff;padding:6px;
  box-shadow:0 0 0 2px rgba(225,169,95,0.5), 0 6px 20px rgba(0,0,0,0.35);
}
.b4h-hero-eyebrow{
  position:relative;z-index:1;display:block;
  font-family:'Quicksand',sans-serif;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;font-size:11px;color:var(--b4h-mustard);margin-bottom:10px;
}
.b4h-hero h1{
  position:relative;z-index:1;
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;
  font-size:44px;margin:0 0 8px;color:#fff;
}
.b4h-hero-sub{
  position:relative;z-index:1;margin:0;font-size:13px;letter-spacing:1px;color:rgba(255,255,255,0.75);
  min-height:16px;
}
.b4h-flourish{color:var(--b4h-mustard);width:120px;margin:18px auto 0;opacity:0.85;position:relative;z-index:1;}
.b4h-flourish svg{width:100%;height:12px;display:block;}
.b4h-footnote .b4h-flourish{color:var(--b4h-terracotta);}

/* ---------- Toolbar ---------- */
.b4h-toolbar{
  position:sticky;top:0;z-index:20;background:var(--b4h-paper);
  padding:18px 16px 4px;border-bottom:1px solid var(--b4h-line);
}
.b4h-search-bar{
  display:flex;align-items:center;gap:10px;
  background:#fff;border:1px solid var(--b4h-line);border-radius:24px;
  padding:11px 18px;margin-bottom:14px;color:var(--b4h-dark);
}
.b4h-search-bar input{
  border:none;outline:none;flex:1;background:transparent;
  font-family:'Quicksand',sans-serif;font-size:14px;color:var(--b4h-dark);
}
.b4h-search-bar input::placeholder{color:#a5978a;}

.b4h-categories{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px;scrollbar-width:none;}
.b4h-categories::-webkit-scrollbar{display:none;}
.b4h-category-chip{
  flex:0 0 auto;background:#fff;color:var(--b4h-dark);padding:8px 16px;border-radius:20px;
  font-weight:600;font-size:12.5px;letter-spacing:0.3px;cursor:pointer;white-space:nowrap;
  border:1px solid var(--b4h-line);
}
.b4h-category-chip.active{background:var(--b4h-terracotta);color:#fff;border-color:var(--b4h-terracotta);}

/* ---------- Menu list (editorial menu-card style) ---------- */
.b4h-menu-list{padding:8px 20px 0;max-width:760px;margin:0 auto;}

.b4h-category-heading{
  display:flex;align-items:center;gap:14px;
  margin:40px 0 22px;color:var(--b4h-terracotta);
}
.b4h-category-heading::before,
.b4h-category-heading::after{
  content:'';flex:1;height:1px;background:var(--b4h-line);
}
.b4h-category-heading span{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;
  font-size:26px;color:var(--b4h-dark);white-space:nowrap;
}

.b4h-item-row{
  display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed var(--b4h-line);
  align-items:flex-start;
}
.b4h-item-thumb{
  width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;
  border:2px solid #fff;box-shadow:0 2px 8px rgba(62,44,35,0.15);background:var(--b4h-cream);
}
.b4h-item-body{flex:1;min-width:0;}
.b4h-item-title-row{
  display:flex;align-items:baseline;gap:8px;
}
.b4h-item-title-row h4{
  margin:0;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:19px;color:var(--b4h-dark);
  white-space:nowrap;
}
.b4h-dotted-leader{flex:1;border-bottom:1.5px dotted var(--b4h-line);position:relative;top:-4px;min-width:16px;}
.b4h-item-price{
  font-family:'Cormorant Garamond',serif;font-weight:700;font-size:18px;color:var(--b4h-terracotta);
  white-space:nowrap;
}
.b4h-item-desc{
  margin:5px 0 0;font-size:12.5px;font-style:italic;color:#8d7c6d;line-height:1.5;
}
.b4h-veg-dot{
  display:inline-block;width:11px;height:11px;border:1.4px solid #4c7a2e;border-radius:2px;
  margin-right:2px;vertical-align:middle;flex-shrink:0;
}
.b4h-veg-dot::after{content:'';display:block;width:5px;height:5px;background:#4c7a2e;border-radius:50%;margin:2px auto;}
.b4h-veg-dot.nonveg{border-color:#a3402f;}
.b4h-veg-dot.nonveg::after{background:#a3402f;border-radius:0;}
.b4h-unavailable-badge{
  font-size:10px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;
  color:#a3402f;border:1px solid #a3402f;border-radius:10px;padding:2px 8px;margin-left:8px;
}

.b4h-no-results{text-align:center;color:#a5978a;font-style:italic;padding:40px 0;font-family:'Cormorant Garamond',serif;font-size:18px;}

/* ---------- Footnote ---------- */
.b4h-footnote{
  max-width:520px;margin:50px auto 0;text-align:center;padding:0 30px;
}
.b4h-footnote p{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--b4h-dark);
  margin:18px 0 0;
}

/* ---------- Assistance ---------- */
.b4h-assist-btn{
  position:fixed;bottom:22px;right:18px;width:52px;height:52px;border-radius:50%;
  background:var(--b4h-terracotta);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:50;box-shadow:0 6px 18px rgba(62,44,35,0.3);
}
.b4h-drawer{position:fixed;inset:0;background:rgba(30,20,14,0.5);display:none;z-index:100;}
.b4h-drawer.open{display:flex;align-items:flex-end;}
.b4h-drawer-inner{
  background:var(--b4h-paper);width:100%;border-radius:20px 20px 0 0;padding:28px 22px 32px;
}
.b4h-drawer-inner h2{
  font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--b4h-dark);margin:0 0 18px;font-size:24px;
}
.b4h-assist-option{
  display:block;width:100%;background:#fff;border:1px solid var(--b4h-line);padding:14px;border-radius:10px;
  margin-bottom:10px;font-weight:600;color:var(--b4h-dark);cursor:pointer;text-align:left;font-size:14.5px;
  font-family:'Quicksand',sans-serif;
}
.b4h-close-drawer{
  width:100%;background:none;border:1px solid var(--b4h-line);padding:12px;border-radius:10px;cursor:pointer;
  color:#8d7c6d;font-family:'Quicksand',sans-serif;margin-top:6px;
}

@media(max-width:480px){
  .b4h-hero h1{font-size:34px;}
  .b4h-item-thumb{width:54px;height:54px;}
}
