:root {
  --brown: #4a2410;
  --brown-deep: #2f1609;
  --cream: #fdf3ec;
  --cream-dark: #f3e0d2;
  --gold: #a97a2b;
  --gold-soft: #c9a05a;
  --text: #3a2214;
  --muted: #7a5a45;
  --white: #fffdfb;
  --danger: #9b2c2c;
  --shadow: 0 10px 30px rgba(74, 36, 16, 0.12);
  --radius: 18px;
  --font-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-sans: "Source Sans 3", "Segoe UI", sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--text);
  background:
    radial-gradient(1200px 500px at 10% -10%, #ffe7d4 0%, transparent 55%),
    radial-gradient(900px 400px at 100% 0%, #f0d2b8 0%, transparent 50%),
    linear-gradient(180deg, var(--cream) 0%, #fae8db 45%, var(--cream) 100%);
  min-height: 100vh;
  line-height: 1.55;
}

img { max-width: 100%; display: block; height: auto; }
a { color: var(--brown); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--gold); }
h1, h2, h3, .footer-brand, .brand__name, .hero__brand {
  font-family: var(--font-serif);
  font-weight: 700;
  line-height: 1.15;
  color: var(--brown);
}

.sr-only, .skip-link {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
.skip-link:focus {
  position: fixed; left: 1rem; top: 1rem; z-index: 1000;
  width: auto; height: auto; clip: auto;
  padding: .75rem 1rem; background: var(--white); color: var(--brown);
}

.announcement {
  background: var(--brown);
  color: var(--cream);
  text-align: center;
  font-size: .92rem;
  padding: .55rem 1rem;
}
.announcement p { margin: 0; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(10px);
  background: rgba(253, 243, 236, 0.92);
  border-bottom: 1px solid rgba(74, 36, 16, 0.08);
}
.site-header__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: .85rem 1.1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.brand {
  display: flex; align-items: center; gap: .75rem;
  text-decoration: none; color: inherit;
}
.brand__seal { width: 52px; height: 52px; border-radius: 50%; display: block; box-shadow: 0 2px 10px rgba(74,36,16,.18); }
.brand__text { display: flex; flex-direction: column; }
.brand__name { font-size: 1.2rem; }
.brand__tag { font-size: .78rem; color: var(--muted); }

.site-nav {
  display: none; align-items: center; gap: 1rem;
}
.site-nav a { text-decoration: none; font-weight: 600; color: var(--brown); }
.nav-toggle {
  width: 44px; height: 44px; border: 0; background: transparent;
  display: grid; gap: 6px; place-content: center; cursor: pointer;
}
.nav-toggle span {
  display: block; width: 22px; height: 2px; background: var(--brown);
}
.site-nav.is-open {
  display: flex; flex-direction: column;
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--cream); padding: 1rem;
  border-bottom: 1px solid rgba(74,36,16,.08);
}

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  border: 0; border-radius: 999px;
  padding: .72rem 1.2rem;
  font: inherit; font-weight: 700;
  cursor: pointer; text-decoration: none;
  transition: transform .15s ease, background .15s ease, color .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.btn--primary { background: var(--brown); color: var(--cream); }
.btn--primary:hover { background: var(--brown-deep); color: var(--cream); }
.btn--gold { background: var(--gold); color: #fff8ef; }
.btn--ghost {
  background: transparent; color: var(--brown);
  box-shadow: inset 0 0 0 1.5px rgba(74,36,16,.25);
}
.btn--block { width: 100%; }
.icon-btn {
  border: 0; background: transparent; font-size: 1.6rem;
  line-height: 1; cursor: pointer; color: var(--brown);
}

.hero {
  min-height: min(88vh, 760px);
  display: grid; align-items: end;
  background:
    radial-gradient(circle at 80% 20%, rgba(169,122,43,.35), transparent 55%),
    linear-gradient(160deg, #6b3a1f 0%, #4a2410 60%, #2f1609 100%);
  color: var(--cream);
  padding: 4rem 1.1rem 3rem;
  animation: heroFade 1.1s ease both;
}
.hero__content { max-width: 1120px; margin: 0 auto; width: 100%; }
.hero__eyebrow { letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; opacity: .9; }
.hero__brand {
  font-size: clamp(2.6rem, 8vw, 4.8rem);
  color: #fff7ee;
  margin: .2rem 0 .4rem;
  text-shadow: 0 8px 30px rgba(0,0,0,.25);
}
.hero__headline {
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 3.5vw, 2rem);
  max-width: 18ch;
  margin: 0 0 .75rem;
  color: #ffe8cf;
}
.hero__support { max-width: 36ch; margin: 0 0 1.4rem; color: #f7e4d2; }
.hero__cta { display: flex; flex-wrap: wrap; gap: .75rem; }

.trust { max-width: 1120px; margin: -1.5rem auto 0; padding: 0 1.1rem; position: relative; z-index: 2; }
.trust__list {
  list-style: none; margin: 0; padding: 1rem;
  display: grid; gap: .75rem;
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.trust__list li {
  display: flex; flex-direction: column; gap: .15rem;
  padding: .55rem .4rem;
}
.trust__list strong { font-family: var(--font-serif); color: var(--brown); font-size: 1.15rem; }
.trust__list span { color: var(--muted); font-size: .92rem; }

.baking-note {
  max-width: 720px; margin: 1.75rem auto 0; padding: 0 1.1rem;
  text-align: center; color: var(--muted); font-style: italic;
}

.section-head, .page-hero { text-align: center; padding: 2.5rem 1.1rem 1rem; }
.page-hero--compact { padding-top: 2rem; }
.section-head p, .page-hero p { color: var(--muted); max-width: 40ch; margin: .5rem auto 0; }

.menu-section { max-width: 1120px; margin: 0 auto; padding: 0 1.1rem 3rem; }
.menu-controls { display: grid; gap: 1rem; margin-bottom: 1.25rem; }
.category-tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip {
  border: 0; border-radius: 999px;
  padding: .45rem .9rem;
  background: var(--cream-dark); color: var(--brown);
  font: inherit; font-weight: 600; cursor: pointer;
}
.chip.is-active { background: var(--brown); color: var(--cream); }
.menu-filters {
  display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; justify-content: space-between;
}
.toggle { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; }
.search input, .checkout-form input, .checkout-form select, .checkout-form textarea,
.modal input, .payment-box input, .payment-box textarea {
  width: 100%;
  border: 1px solid rgba(74,36,16,.18);
  border-radius: 12px;
  padding: .7rem .85rem;
  font: inherit;
  background: var(--white);
  color: var(--text);
}
.search input { min-width: min(100%, 240px); }

.menu-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.product-card {
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  display: flex; flex-direction: column;
  animation: rise .55s ease both;
}
.product-card.is-sold-out { opacity: .72; }
.product-card__media { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--cream-dark); }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.product-card:hover .product-card__media img { transform: scale(1.04); }
.sold-badge {
  position: absolute; left: .75rem; top: .75rem;
  background: var(--brown); color: var(--cream);
  padding: .25rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 700;
}
.product-card__body { padding: 1rem 1.05rem 1.15rem; display: grid; gap: .45rem; }
.product-card__title { margin: 0; font-size: 1.25rem; }
.product-card__desc { margin: 0; color: var(--muted); font-size: .95rem; }
.product-card__tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; }
.tag {
  display: inline-block; font-size: .75rem; font-weight: 700;
  padding: .15rem .45rem; border-radius: 999px;
  background: var(--cream-dark); color: var(--brown);
}
.tag--jain { background: #e7f2e4; color: #2f5d34; }
.product-card__meta {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .35rem;
}
.price { font-weight: 700; color: var(--brown); font-size: 1.05rem; }

.site-footer {
  margin-top: 2rem;
  background: var(--brown-deep);
  color: #f3e0d2;
  padding: 2.5rem 1.1rem;
}
.site-footer a { color: #ffd9a8; }
.site-footer__inner {
  max-width: 1120px; margin: 0 auto;
  display: grid; gap: 1.5rem;
}
.footer-brand { color: #fff4e8; margin: 0 0 .35rem; }
.footer-tag { margin: 0 0 .75rem; color: var(--gold-soft); }
.site-footer h3 { color: #fff4e8; font-family: var(--font-serif); margin: 0 0 .5rem; }

.wa-fab {
  position: fixed; right: 1rem; bottom: 1rem; z-index: 60;
  background: #1fa855; color: #fff; font-weight: 700;
  padding: .85rem 1.1rem; border-radius: 999px;
  text-decoration: none; box-shadow: 0 10px 24px rgba(31,168,85,.35);
}

.guilt-bag {
  position: fixed; top: 0; right: 0; z-index: 80;
  width: min(100%, 380px); height: 100%;
  background: var(--white);
  box-shadow: -12px 0 40px rgba(47,22,9,.18);
  transform: translateX(105%);
  transition: transform .28s ease;
  display: flex; flex-direction: column;
}
.guilt-bag.is-open { transform: translateX(0); }
.bag-overlay {
  position: fixed; inset: 0; z-index: 70;
  background: rgba(47,22,9,.45);
}
.guilt-bag__header, .guilt-bag__footer, .modal__header, .modal__footer {
  padding: 1rem 1.1rem;
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
}
.guilt-bag__items { flex: 1; overflow: auto; padding: 0 1.1rem 1rem; }
.bag-line {
  display: grid; grid-template-columns: 64px 1fr auto; gap: .7rem;
  padding: .75rem 0; border-bottom: 1px solid rgba(74,36,16,.08);
}
.bag-line img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; }
.qty-controls { display: inline-flex; align-items: center; gap: .35rem; margin-top: .35rem; }
.qty-controls button {
  width: 28px; height: 28px; border-radius: 50%; border: 0;
  background: var(--cream-dark); cursor: pointer; font-weight: 700;
}
.bag-remove { border: 0; background: transparent; color: var(--danger); cursor: pointer; font-size: .85rem; }

.modal[hidden], .bag-overlay[hidden] { display: none !important; }
.modal {
  position: fixed; inset: 0; z-index: 90;
  display: grid; place-items: end center;
}
.modal__backdrop { position: absolute; inset: 0; background: rgba(47,22,9,.5); }
.modal__panel {
  position: relative; z-index: 1;
  width: min(100%, 640px); max-height: 92vh;
  background: var(--white); border-radius: 22px 22px 0 0;
  display: flex; flex-direction: column;
  box-shadow: var(--shadow);
  animation: slideUp .28s ease;
}
.modal__body { overflow: auto; padding: 0 1.1rem 1rem; }
.builder-section { margin-bottom: 1.1rem; }
.builder-section h3 { display: flex; justify-content: space-between; font-size: 1.05rem; }
.option-grid { display: grid; gap: .5rem; }
.option-card {
  display: flex; justify-content: space-between; gap: .75rem;
  padding: .7rem .85rem; border-radius: 14px;
  border: 1.5px solid rgba(74,36,16,.12);
  background: var(--cream); cursor: pointer; font: inherit; text-align: left;
}
.option-card.is-selected { border-color: var(--gold); background: #fff6e8; }
.builder-error, .checkout-error { color: var(--danger); font-weight: 600; }
.muted { color: var(--muted); }
.card-panel {
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 1.15rem;
}
.checkout { max-width: 1120px; margin: 0 auto; padding: 0 1.1rem 3rem; }
.checkout-grid { display: grid; gap: 1rem; }
.checkout-form fieldset { border: 0; margin: 0; }
.checkout-form legend, .checkout-summary h2 {
  font-family: var(--font-serif); color: var(--brown); font-size: 1.35rem; margin-bottom: .75rem;
}
.checkout-form label { display: grid; gap: .35rem; margin-bottom: .75rem; font-weight: 600; }
.radio-row, .radio-block { display: flex; gap: 1rem; flex-wrap: wrap; font-weight: 600; }
.radio-block { margin-bottom: .5rem; }
.totals { margin: 1rem 0; }
.totals > div { display: flex; justify-content: space-between; padding: .25rem 0; }
.totals__grand { font-size: 1.15rem; font-weight: 700; border-top: 1px solid rgba(74,36,16,.12); margin-top: .4rem; padding-top: .55rem; }
.alert { padding: .9rem 1rem; border-radius: 14px; margin-bottom: 1rem; }
.alert--warn { background: #fff1d6; color: #6a4b12; }
.confirmation { max-width: 720px; margin: 0 auto 3rem; }
.confirm-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.payment-box { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgba(74,36,16,.1); }
.cms-page { max-width: 960px; margin: 0 auto; padding: 1.5rem 1.1rem 3rem; }

@keyframes heroFade {
  from { opacity: .2; transform: scale(1.02); }
  to { opacity: 1; transform: none; }
}
@keyframes rise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
@keyframes slideUp {
  from { transform: translateY(24px); opacity: .6; }
  to { transform: none; opacity: 1; }
}

@media (min-width: 768px) {
  .site-nav { display: flex; }
  .nav-toggle { display: none; }
  .trust__list { grid-template-columns: repeat(3, 1fr); }
  .menu-grid { grid-template-columns: repeat(2, 1fr); }
  .checkout-grid { grid-template-columns: 1.2fr .8fr; }
  .checkout-summary { grid-column: 2; grid-row: 1 / span 3; align-self: start; position: sticky; top: 5.5rem; }
  .modal { place-items: center; }
  .modal__panel { border-radius: 22px; }
  .site-footer__inner { grid-template-columns: 1.3fr 1fr 1fr; }
}

@media (min-width: 1024px) {
  .menu-grid { grid-template-columns: repeat(3, 1fr); }
  .hero { align-items: center; padding-top: 5rem; }
}

/* Hero: light cream, matching the client's design */
.hero {
  min-height: 0; display: block; color: var(--brown); animation: none;
  padding: 3rem 1.1rem 4.5rem;
  background:
    radial-gradient(circle at 88% 8%, rgba(169,122,43,.16), transparent 50%),
    linear-gradient(180deg, #fdf3ec 0%, #f6e6d6 100%);
}
.hero__inner { max-width: 1120px; margin: 0 auto; display: grid; gap: 2.2rem; align-items: center; }
@media (min-width: 860px) { .hero__inner { grid-template-columns: 1.15fr .85fr; } }
.hero__pill {
  display: inline-block; margin: 0 0 1.1rem; padding: .45rem .95rem; border-radius: 999px;
  background: #f1dfc7; border: 1px solid #e3c9a6; color: var(--brown);
  font-family: var(--font-sans); font-weight: 700; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
}
.hero__title { font-size: clamp(2.3rem, 6vw, 3.9rem); line-height: 1.05; color: var(--brown); margin: 0 0 1.1rem; text-wrap: balance; }
.hero__title em { display: block; color: var(--gold); font-weight: 500; }
.hero .hero__support { max-width: 48ch; color: #6a4a36; margin: 0 0 1.5rem; }
.hero .btn--ghost { background: transparent; color: var(--brown); border: 1.5px solid var(--brown); }
.hero .btn--ghost:hover { background: rgba(74,36,16,.07); }
.hero__seal {
  position: relative; text-align: center; background: #fffaf5; border: 1px solid #e8d3bb;
  border-radius: 24px; padding: 2.2rem 1.5rem 1.6rem; box-shadow: var(--shadow);
}
.hero__seal img { width: min(220px, 62%); height: auto; border-radius: 50%; box-shadow: 0 10px 40px rgba(74,36,16,.16); }
.hero__seal-tag {
  position: absolute; top: -.75rem; left: 50%; transform: translateX(-50%); white-space: nowrap;
  background: var(--brown); color: #fff; padding: .45rem .85rem; border-radius: 999px;
  font-family: var(--font-sans); font-weight: 700; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase;
}
.hero__seal p { margin: 1.2rem 0 0; color: var(--muted); font-size: .92rem; }
.product-card__media { aspect-ratio: 350 / 192; }

/* checkout fixes */
.checkout-form legend { float: left; width: 100%; padding: 0; margin: 0 0 .75rem; }
.checkout-form legend + * { clear: both; }
.checkout-form input[type="radio"], .checkout-form input[type="checkbox"] { width: auto; margin: 0; flex: 0 0 auto; }
.checkout-form label.radio-block { display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; }
.radio-row label { display: flex; align-items: center; gap: .5rem; margin: 0; }
.checkout-form label .muted { font-weight: 400; }
.checkout-line { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem 0; }

/* seal + bag fixes */
.hero__seal img { display: block; margin: 0 auto; }
.guilt-bag__footer { flex-direction: column; align-items: stretch; border-top: 1px solid rgba(74,36,16,.1); }
.guilt-bag__subtotal { display: flex; justify-content: space-between; align-items: baseline; font-size: 1.1rem; }
.guilt-bag__footer .btn { width: 100%; text-align: center; justify-content: center; }

/* bag remove x */
.qty-controls .bag-remove { width: 28px; height: 28px; border-radius: 50%; background: transparent; color: var(--danger); font-size: 1.25rem; line-height: 1; padding: 0; margin-left: .25rem; box-shadow: inset 0 0 0 1px rgba(155,44,44,.35); }
.qty-controls .bag-remove:hover { background: rgba(155,44,44,.1); }
.bag-line small { display: block; margin: .15rem 0 .25rem; line-height: 1.4; color: var(--muted); }

/* ===== v3: client's updated design ===== */
:root { --font-sans: Montserrat, "Segoe UI", system-ui, sans-serif; --green: #14532d; --green-bg: #dcfce7; }
body { font-family: var(--font-sans); }
.hero2 { max-width: 1180px; margin: 0 auto; padding: 22px 16px 6px; }
.hero2__card {
  background: linear-gradient(135deg, #f5eadb, var(--cream) 50%, var(--cream-dark));
  border: 1px solid #dfcbb0; border-radius: 28px; box-shadow: var(--shadow);
  padding: 24px; display: grid; gap: 28px; position: relative; overflow: hidden;
}
.hero2__card > * { min-width: 0; }
@media (min-width: 900px) { .hero2__card { grid-template-columns: 1.4fr 1fr; padding: 40px; align-items: center; } }
@media (max-width: 479px) { .hero2__card { padding: 20px 16px; border-radius: 22px; } .kicker { font-size: 10px; letter-spacing: .05em; } }
.kicker {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px;
  background: #efe3ce; border: 1px solid #d9c4a6; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--brown);
}
.hero2 h1 { font-family: var(--font-serif); font-size: clamp(30px, 5vw, 52px); font-weight: 900; line-height: 1.12; margin: 14px 0 0; color: var(--brown); }
.hero2 h1 em { display: block; font-weight: 400; color: #b07624; }
.hero2__lead { margin: 14px 0 0; color: #73441f; max-width: 560px; font-size: 15px; }
.hallmarks { margin-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.hallmark { background: var(--cream); border: 1px solid #dfcbb0; border-radius: 16px; padding: 12px; }
.hallmark b { display: block; color: #b07624; font-size: 13px; font-weight: 800; }
.hallmark span { display: block; font-size: 11.5px; color: #73441f; margin-top: 3px; line-height: 1.35; font-weight: 500; }
@media (max-width: 420px) { .hallmarks { grid-template-columns: 1fr; } }
.hero2__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.btn--soft { background: #efe3ce; color: var(--brown); border: 1px solid #dfcbb0; }
.btn--soft:hover { background: #eadbca; }
.btn--wa { background: #1f7a45; color: #fff; justify-content: center; text-align: center; }
.btn--wa:hover { background: #17673a; }
.seal-card {
  background: rgba(250, 244, 235, .7); border: 1px solid #dfcbb0; border-radius: 24px;
  padding: 30px 22px 22px; text-align: center; position: relative;
}
.seal-card__tag {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%); white-space: nowrap;
  background: var(--brown); color: var(--cream); font-size: 10px; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; padding: 4px 12px; border-radius: 999px;
}
.seal-card img { width: 170px; height: 170px; margin: 0 auto; display: block; border-radius: 50%; filter: drop-shadow(0 6px 18px rgba(212,155,68,.35)); }
.open-status { display: inline-flex; align-items: center; gap: 6px; background: var(--green-bg); color: var(--green); border: 1px solid #a7e3bc; font-size: 11px; font-weight: 800; padding: 3px 10px; border-radius: 999px; margin-top: 14px; }
.open-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #22a35a; }
.seal-card p { margin: 10px 0 0; font-size: 13px; color: #73441f; }
.seal-card .btn { margin-top: 14px; }
.trust { display: none; }
.menu-cat { margin-bottom: 1.5rem; }
.menu-cat[hidden] { display: none; }
.menu-cat__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin: 1.6rem 0 1rem; }
.menu-cat__head h2 { font-family: var(--font-serif); font-size: clamp(22px, 3vw, 30px); font-weight: 900; color: var(--brown); margin: 0; }
.menu-cat__head p { color: #8b5a2b; font-size: 13px; font-weight: 600; margin: 0; }
.product-card__note { margin: .6rem 0 0; display: inline-block; font-size: .78rem; font-weight: 700; padding: .35rem .7rem; border-radius: 10px; background: #f4e9d8; border: 1px solid #e3d2b8; color: var(--brown); }
.chip { font-weight: 700; }
404 Not Found

/* floating icons */
.wa-fab{display:none}
.fab-stack{position:fixed;right:1rem;bottom:1rem;z-index:60;display:flex;flex-direction:column;gap:.65rem}
.fab{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(47,22,9,.28);transition:transform .15s}
.fab:hover{transform:scale(1.07)}
.fab--wa{background:#1fa855}
.fab--ig{background:linear-gradient(45deg,#f9a03c,#e1306c 55%,#833ab4)}
@media(max-width:600px){.fab{width:48px;height:48px}.fab-stack{right:.75rem;bottom:.75rem}}


/* header v4: centered nav + bag icon */
.site-header__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center}
.site-nav{justify-content:center}
.site-nav a{padding:.4rem .15rem}
.site-nav a:hover{color:var(--gold)}
.header-actions{display:flex;align-items:center;gap:.25rem;justify-self:end}
.bag-icon{position:relative;width:46px;height:46px;border:0;border-radius:50%;background:var(--gold);color:#fff8ef;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s}
.bag-icon:hover{transform:scale(1.07)}
.bag-icon .bag-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--brown);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.bag-icon .bag-count[hidden]{display:none}
.site-nav.is-open{align-items:center}
@media(min-width:768px){.site-header__inner{grid-template-columns:1fr auto 1fr}.site-nav{gap:2rem}}

/* product popup (glass) */
.product-card{cursor:pointer}
.pmodal[hidden]{display:none!important}
.pmodal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem}
.pmodal__backdrop{position:absolute;inset:0;background:rgba(47,22,9,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pmodal__panel{position:relative;width:min(100%,440px);max-height:88vh;overflow:auto;border-radius:26px;background:rgba(255,248,240,.58);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.65);box-shadow:0 24px 60px rgba(47,22,9,.35),inset 0 1px 0 rgba(255,255,255,.7);animation:slideUp .25s ease}
.pmodal__x{position:absolute;top:.6rem;right:.6rem;z-index:2;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.55);backdrop-filter:blur(6px);color:var(--brown);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.pmodal__x:hover{background:rgba(255,255,255,.85)}
.pmodal__img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:26px 26px 0 0}
.pmodal__body{padding:1.1rem 1.3rem 1.3rem}
.pmodal__body h3{margin:0 0 .5rem;font-family:var(--font-serif);font-size:1.4rem;color:var(--brown)}
.pmodal__desc{margin:0 0 .6rem;line-height:1.55;color:var(--brown)}
.pmodal__note{margin:0 0 .6rem;font-weight:600;color:var(--gold)}
.pmodal__tags{margin:0 0 .9rem;display:flex;flex-wrap:wrap;gap:.35rem}
.pmodal__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.pmodal__foot .price{font-size:1.3rem;font-weight:800;color:var(--brown)}
body.pmodal-open{overflow:hidden}

.pmodal__panel{scrollbar-width:none}.pmodal__panel::-webkit-scrollbar{display:none}
.pmodal__img img{aspect-ratio:auto;height:min(38vh,300px)}
.pmodal__body{padding:1rem 1.3rem 1.2rem}

/* cms pages (policies etc.) */
.cms-page h1{font-family:var(--font-serif);color:var(--brown);margin:0 0 1rem}
.cms-page h2{font-family:var(--font-serif);color:var(--brown);margin:1.6rem 0 .4rem;font-size:1.3rem}
.cms-page p,.cms-page li{line-height:1.7;color:var(--brown)}
.cms-page ul{padding-left:1.2rem}
.site-footer__inner p a{text-decoration:none}

/* item options (popup + builder) */
.pmodal__opts{margin:.2rem 0 1rem;display:grid;gap:.8rem}
.pm-label{font-weight:700;font-size:.9rem;color:var(--brown);margin-bottom:.4rem}
.opt-row{display:flex;flex-wrap:wrap;gap:.5rem}
.opt-pill{flex:1 1 140px;cursor:pointer}
.opt-pill input{position:absolute;opacity:0;pointer-events:none}
.opt-pill span{display:flex;flex-direction:column;gap:.1rem;padding:.65rem .8rem;border-radius:14px;border:1.5px solid rgba(74,36,16,.2);background:rgba(255,255,255,.55);font-weight:600;color:var(--brown);transition:all .15s}
.opt-pill small{font-weight:500;font-size:.75rem;color:#7a5a45}
.opt-pill input:checked+span{border-color:var(--gold);background:#fff6e8;box-shadow:0 0 0 2px rgba(169,122,43,.25)}
.opt-pill input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.check-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;border-radius:14px;border:1.5px dashed rgba(169,122,43,.55);background:rgba(255,255,255,.5);cursor:pointer;color:var(--brown)}
.check-row small{display:block;font-size:.75rem;color:#7a5a45}
.check-row .addon{display:flex;align-items:center;gap:.6rem;font-weight:800;color:var(--gold)}
.check-row input{width:20px;height:20px;accent-color:var(--gold)}
.note-ok{margin:.4rem 0 0;font-size:.82rem;font-weight:600;color:#2f6b3a}
.checkout-line small{display:block}

/* mobile header fix */
@media (max-width:640px){
.site-header__inner{display:flex!important;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem!important}
.brand{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1 1 auto}
.brand__seal{width:40px!important;height:40px!important;flex:0 0 auto}
.brand__name{font-size:1.05rem!important;line-height:1.1;white-space:nowrap}
.brand__tag{display:none!important}
.header-actions{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}
.bag-icon{width:38px!important;height:38px!important;padding:0!important}
.bag-icon svg{width:18px!important;height:18px!important}
.bag-icon .bag-count{min-width:18px;height:18px;font-size:.68rem!important;line-height:18px;top:-6px!important;right:-6px!important}
}

/* qty stepper */
.qty{display:inline-flex;align-items:center;gap:.35rem;border:1.5px solid rgba(74,36,16,.25);border-radius:999px;padding:.15rem .3rem;background:rgba(255,255,255,.55)}
.qty button{width:30px;height:30px;border-radius:50%;border:0;background:var(--gold);color:#fff;font-size:1.15rem;line-height:1;cursor:pointer}
.qty span{min-width:1.6rem;text-align:center;font-weight:700;color:var(--brown)}
.pmodal__foot{gap:.6rem;flex-wrap:wrap}
.modal__footer .qty{margin-left:auto}

/* menu mode */
.menu-mode{display:inline-flex;gap:.25rem;padding:.25rem;border-radius:999px;background:rgba(255,255,255,.65);border:1.5px solid rgba(74,36,16,.2)}
.mode-pill{border:0;background:transparent;padding:.5rem 1rem;border-radius:999px;font-weight:700;color:var(--brown);cursor:pointer;font:inherit;font-weight:700}
.mode-pill.is-active{background:var(--gold);color:#fff}
.product-card__media{position:relative}
.jain-badge{position:absolute;top:.6rem;left:.6rem;background:#2f6b3a;color:#fff;border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:700}

/* jain chip */
.menu-mode{display:none!important}
.chip--jain{border-color:#2f6b3a}
.chip--jain.is-active{background:#2f6b3a;color:#fff;border-color:#2f6b3a}

/* jain both */
.jain-both{position:absolute;top:.6rem;left:.6rem;background:rgba(255,255,255,.92);color:#2f6b3a;border:1px solid #2f6b3a;border-radius:999px;padding:.15rem .6rem;font-size:.72rem;font-weight:700}

/* hidden fix */
.product-card[hidden],.menu-section[hidden],.menu-category[hidden]{display:none!important}

/* toppings */
.top-list{display:grid;gap:.4rem;margin:.5rem 0 0;padding:.6rem;border:1px dashed #d9c4a6;border-radius:12px;background:rgba(255,255,255,.5)}
.top-list[hidden]{display:none!important}
.top-item{display:flex;align-items:center;gap:.6rem;font-size:.95rem;cursor:pointer}
.top-item span{flex:1}.top-item b{color:var(--gold)}


/* client fonts: Chewy stands in for Lazydog, Itim for Bryndan Write.
   When the real font files arrive, define @font-face "TGH Display" / "TGH Hand" and these take over. */
:root{--font-serif:"TGH Display","Chewy","Playfair Display",Georgia,serif;--font-hand:"TGH Hand","Itim","Segoe UI",sans-serif}
h1,h2,h3,h4,.brand__name,.product-card__title,.hero2 h1,.menu-cat__head h2,.cms-page h1,.cms-page h2,.pmodal__body h3{font-weight:400;letter-spacing:.01em}
.announcement,.site-nav a,.btn,.menu-cat__head p,.section-head p,.seal-card p{font-family:var(--font-hand)}
