:root {
  --ink: #27211e;
  --muted: #756d67;
  --paper: #fffdf9;
  --cream: #f8f1e8;
  --line: #e9dfd5;
  --red: #b74422;
  --red-dark: #913519;
  --clay: #d96d42;
  --green: #316b4a;
  --gold: #efb943;
  --white: #fff;
  --shadow: 0 18px 55px rgba(73, 45, 25, .11);
  --soft-shadow: 0 8px 30px rgba(65, 37, 20, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", Arial, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2 { font-family: "Playfair Display", Georgia, serif; line-height: 1.07; letter-spacing: -.035em; }

.site-header { position: sticky; z-index: 20; top: 0; display: flex; align-items: center; justify-content: space-between; height: 94px; padding: 18px clamp(20px, 5vw, 76px) 0; background: rgba(255,253,249,.94); border-bottom: 1px solid transparent; backdrop-filter: blur(14px); }
.heritage-wrap { position: absolute; z-index: -1; inset: -42px 0 auto; height: 92px; overflow: hidden; pointer-events: none; opacity: .7; }
.heritage-skyline { width: 100%; height: 100%; color: #c9a992; }
.heritage-skyline svg { display: block; width: 100%; height: 100%; }
.heritage-skyline path { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
.heritage-baseline { stroke-width: 1.2; opacity: .48; }
.heritage-dome { stroke: #b87959; stroke-width: 1.5; }
.heritage-arch { stroke-width: 1; opacity: .72; }
.brand-location { display: block; margin-left: 4px; color: #81736b; font-size: 10px; font-weight: 600; }
.site-header:has(+ main) { border-color: rgba(233,223,213,.55); }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; }
.brand-mark { position: relative; display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50% 50% 47% 50%; color: #fffaf5; background: var(--red); font: 700 25px/1 "Playfair Display", serif; transform: rotate(-8deg); }
.brand-mark span { position: absolute; top: 1px; right: 1px; color: var(--gold); font: 11px/1 Arial, sans-serif; transform: rotate(8deg); }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy b { font-size: 13px; letter-spacing: .115em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .17em; }
.desktop-nav { display: flex; gap: clamp(20px, 2.7vw, 40px); margin-left: 6vw; }
.desktop-nav a { color: #6e645e; font-size: 14px; font-weight: 600; transition: color .2s ease; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--red); }
.header-actions { display: flex; align-items: center; gap: 15px; }
.call-link { display: inline-flex; align-items: center; gap: 7px; color: var(--red); font-size: 13px; font-weight: 700; }
.cart-button { position: relative; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: #fff; }
.cart-button b { position: absolute; top: -5px; right: -5px; display: grid; min-width: 19px; height: 19px; padding: 0 5px; place-items: center; border-radius: 99px; color: white; background: var(--red); font-size: 10px; }
.mobile-toggle { display: none; border: 0; color: var(--ink); background: transparent; }
.mobile-menu { display: none; }

.hero { display: grid; grid-template-columns: 1.02fr .98fr; min-height: 610px; overflow: hidden; background: #f6ece1; }
.hero-copy { align-self: center; max-width: 650px; padding: 80px 20px 90px clamp(20px, 8vw, 130px); }
.eyebrow { display: flex; align-items: center; gap: 7px; margin-bottom: 17px; color: var(--red); font-size: 11px; font-weight: 800; letter-spacing: .125em; line-height: 1.3; text-transform: uppercase; }
.hero h1 { margin-bottom: 25px; font-size: clamp(3.45rem, 5.4vw, 5.5rem); }
.hero h1 em { color: var(--red); font-weight: 600; }
.hero-lead { max-width: 500px; margin-bottom: 32px; color: #635954; font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 9px; padding: 0 22px; border: 1px solid transparent; border-radius: 7px; font-size: 14px; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--red); box-shadow: 0 8px 20px rgba(183,68,34,.19); }
.btn-primary:hover { background: var(--red-dark); box-shadow: 0 11px 26px rgba(183,68,34,.26); }
.btn-ghost { border-color: #d9cabe; color: var(--ink); background: rgba(255,255,255,.55); }
.btn-ghost:hover { background: #fff; }
.btn-dark { color: white; background: #312a26; }
.btn-light { color: var(--ink); background: white; }
.btn.full { width: 100%; }
.hero-note { display: flex; align-items: center; gap: 11px; margin-top: 43px; color: #6e645e; }
.hero-note-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: var(--red); background: #f5d9c4; }
.hero-note b, .hero-note small { display: block; }
.hero-note b { color: var(--ink); font-size: 13px; }
.hero-note small { margin-top: 3px; font-size: 12px; }
.hero-visual { position: relative; min-height: 610px; padding: 46px clamp(20px, 5vw, 80px) 38px 22px; }
.hero-circle { position: absolute; z-index: 0; top: -13%; left: 2%; width: 115%; aspect-ratio: 1; border-radius: 50%; background: #d95f37; }
.hero-main-image { position: relative; z-index: 1; width: min(100%, 540px); height: 500px; margin: 0 auto; border-radius: 235px 235px 23px 23px; object-fit: cover; object-position: center; box-shadow: 0 22px 55px rgba(80, 30, 15, .27); }
.floating-card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; padding: 12px 15px; border-radius: 9px; background: #fffdf9; box-shadow: var(--shadow); }
.floating-card b { display: block; font-size: 12px; line-height: 1.3; }
.floating-card small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.floating-card-top { top: 94px; left: max(8px, 1.8vw); }
.floating-card-bottom { right: max(8px, 4vw); bottom: 57px; }
.star-burst { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--red); background: #f7ddc7; }
.float-avatar { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: white; background: var(--red); font-size: 14px; }

/* Calm, compact menu browsing on phones. */
@media (max-width: 480px) {
  .premium-menu-page .menu-intro {
    display: block;
    max-width: none;
    padding: 24px 18px 14px;
    text-align: left;
  }
  .premium-menu-page .menu-intro .eyebrow { justify-content: flex-start; margin-bottom: 7px; font-size: 9px; }
  .premium-menu-page .menu-intro h1 { margin: 0 0 5px; font-size: 30px; line-height: 1.1; }
  .premium-menu-page .menu-intro .menu-intro-copy { margin: 0; font-size: 12px; line-height: 1.5; }
  .premium-menu-page .menu-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 0 18px 5px;
  }
  .premium-menu-page .menu-controls .search-box {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    height: 42px;
    min-width: 0;
    margin: 0;
    padding: 0 12px;
    border-radius: 11px;
    box-shadow: none;
  }
  .premium-menu-page .menu-controls .search-box svg { width: 17px; height: 17px; }
  .premium-menu-page .menu-controls .search-box input { min-width: 0; font-size: 12px; }
  .premium-menu-page .menu-controls .segmented {
    display: flex;
    grid-column: 1 / -1;
    gap: 4px;
    width: max-content;
    max-width: 100%;
    margin: 0;
    padding: 3px;
    border: 1px solid #eee4dc;
    border-radius: 10px;
    background: #f8f2ec;
  }
  .premium-menu-page .menu-controls .segmented button {
    position: static;
    width: auto;
    min-height: 30px;
    padding: 0 11px;
    border: 0;
    border-radius: 7px;
    color: #6f6259;
    background: transparent;
    font-size: 11px;
    font-weight: 650;
  }
  .premium-menu-page .menu-controls .segmented button::before { content: none; }
  .premium-menu-page .menu-controls .segmented button.selected {
    border-color: transparent;
    color: #fff;
    background: #b94b2d;
    box-shadow: none;
  }
  .premium-menu-page .menu-controls .segmented button i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border: 1px solid currentColor; }
  .premium-menu-page .menu-controls .segmented button.veg i { color: #24884d; }
  .premium-menu-page .menu-controls .segmented button.nonveg i { color: #b63838; }
  .premium-menu-page .menu-controls .category-chips {
    grid-column: 1 / -1;
    justify-content: flex-start;
    gap: 7px;
    margin: 0 -18px;
    padding: 1px 18px 6px;
  }
  .premium-menu-page .menu-controls .category-chips button { min-height: 32px; padding: 0 12px; font-size: 11px; }
  .premium-menu-page .menu-results { padding: 10px 16px 116px; }
  .premium-menu-page .results-head { align-items: center; gap: 8px; margin-bottom: 12px; font-size: 11px; }
  .premium-menu-page .results-head .service-copy { gap: 4px; font-size: 9px; }
  .premium-menu-page .results-head .service-copy svg { width: 12px; height: 12px; }
  .premium-menu-page .food-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 11px; }
  .premium-menu-page .food-card { min-width: 0; border-color: #eee4dc; border-radius: 14px; box-shadow: 0 3px 12px rgba(60,34,19,.045); }
  .premium-menu-page .food-card .food-image,
  .premium-menu-page .food-card.compact .food-image { width: 100%; height: auto; aspect-ratio: 1.12 / 1; }
  .premium-menu-page .food-card .image-badge { top: 8px; left: 8px; padding: 5px 7px; border-radius: 6px; font-size: 9px; }
  .premium-menu-page .food-card .food-content { padding: 10px; }
  .premium-menu-page .food-card .food-pill { gap: 4px; font-size: 9px; }
  .premium-menu-page .food-card .food-pill i { width: 9px; height: 9px; padding: 1px; }
  .premium-menu-page .food-card .food-pill i::after { width: 5px; height: 5px; }
  .premium-menu-page .food-card h3 { margin: 7px 0 8px; font-size: 13px; line-height: 1.3; }
  .premium-menu-page .food-card p { display: none; }
  .premium-menu-page .food-card .card-bottom > strong { font-size: 14px; }
  .premium-menu-page .food-card .round-add { width: 31px; height: 31px; }
  .premium-menu-page .food-card .card-variants { margin-top: 7px; font-size: 9px; line-height: 1.4; }
  .premium-menu-page .custom-craving-banner { display: flex; gap: 9px; margin-top: 20px; padding: 13px; border-radius: 13px; }
  .premium-menu-page .custom-craving-banner b { font-size: 11px; line-height: 1.4; }
  .premium-menu-page .custom-craving-banner > strong { font-size: 0; }
  .premium-menu-page .mobile-order-bar { right: 14px; bottom: max(12px, env(safe-area-inset-bottom)); left: 14px; min-height: 54px; padding: 7px 8px 7px 13px; border-radius: 14px; }
  .premium-menu-page .mobile-order-bar a { min-height: 38px; padding: 0 12px; border-radius: 9px; font-size: 9px; }
}

.trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1180px; margin: 0 auto; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 12px 12px; background: #fffdfa; }
.trust-strip > div { display: flex; align-items: center; justify-content: center; gap: 13px; min-height: 102px; color: var(--red); border-right: 1px solid var(--line); }
.trust-strip > div:last-child { border: 0; }
.trust-strip b, .trust-strip small { display: block; }
.trust-strip b { color: var(--ink); font-size: 13px; }
.trust-strip small { margin-top: 4px; color: var(--muted); font-size: 12px; }

.section { max-width: 1320px; margin: 0 auto; padding: 100px clamp(20px, 5vw, 72px); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 35px; }
.section-heading .eyebrow { margin-bottom: 11px; }
.section-heading h2 { margin: 0; font-size: clamp(2rem, 3.1vw, 3rem); }
.text-link { display: inline-flex; flex-shrink: 0; align-items: center; gap: 7px; color: var(--red); font-size: 14px; font-weight: 700; }
.food-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 23px; }
.food-card { overflow: hidden; border: 1px solid #eee5dd; border-radius: 13px; background: #fff; box-shadow: 0 5px 22px rgba(60,34,19,.04); transition: transform .25s ease, box-shadow .25s ease; }
.food-card:hover { transform: translateY(-5px); box-shadow: var(--soft-shadow); }
.food-image { position: relative; width: 100%; height: 252px; padding: 0; overflow: hidden; border: 0; background: #e7d8cc; text-align: left; }
.food-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.food-card:hover .food-image img { transform: scale(1.045); }
.image-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.45)); }
.image-badge { position: absolute; top: 13px; left: 13px; padding: 6px 9px; border-radius: 4px; color: var(--ink); background: #fff5e9; font-size: 10px; letter-spacing: .02em; }
.rating { position: absolute; right: 12px; bottom: 11px; display: inline-flex; align-items: center; gap: 4px; color: #fff; font-size: 11px; font-weight: 700; }
.rating svg { fill: var(--gold); stroke: var(--gold); }
.food-content { padding: 17px 18px 18px; }
.food-pill { display: inline-flex; align-items: center; gap: 6px; color: #5a524d; font-size: 10px; font-weight: 700; }
.food-pill i { display: block; width: 11px; height: 11px; padding: 2px; border: 1px solid currentColor; }
.food-pill i::after { display: block; width: 5px; height: 5px; border-radius: 50%; background: currentColor; content: ""; }
.food-pill.veg { color: #39744a; }
.food-pill.nonveg { color: #b84d37; }
.food-card h3 { margin: 10px 0 7px; font-size: 18px; letter-spacing: -.02em; }
.food-card p { min-height: 43px; margin-bottom: 18px; color: var(--muted); font-size: 12.5px; line-height: 1.6; }
.card-bottom { display: flex; align-items: center; justify-content: space-between; }
.card-bottom > strong { font-size: 17px; }
.round-add { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #e5d6cd; border-radius: 50%; color: var(--red); background: #fffaf6; transition: .2s ease; }
.round-add:hover { color: white; border-color: var(--red); background: var(--red); }
.compact .food-image { height: 278px; }

.story-banner { display: grid; grid-template-columns: .95fr 1.05fr; max-width: 1180px; min-height: 475px; margin: 0 auto; overflow: hidden; border-radius: 18px; background: #ede0d1; }
.story-image { min-height: 390px; }
.story-image img { width: 100%; height: 100%; object-fit: cover; }
.story-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(38px, 6vw, 86px); }
.story-copy h2 { max-width: 540px; margin-bottom: 20px; font-size: clamp(2rem, 3.25vw, 3.25rem); }
.story-copy p:not(.eyebrow) { max-width: 500px; margin-bottom: 28px; color: #635954; line-height: 1.7; }
.how-section { padding-bottom: 110px; }
.center-heading { display: block; text-align: center; }
.center-heading .eyebrow { justify-content: center; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; max-width: 1010px; margin: 0 auto; text-align: center; }
.steps > div { position: relative; }
.steps > div:not(:last-child)::after { position: absolute; top: 23px; right: -28%; width: 55%; border-top: 1px dashed #d7bdaa; content: ""; }
.steps span { display: grid; width: 48px; height: 48px; margin: 0 auto 17px; place-items: center; border-radius: 50%; color: var(--red); background: #f4e5d5; font-size: 13px; font-weight: 800; }
.steps h3 { margin-bottom: 8px; font-size: 16px; }
.steps p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.cta-band { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 57px clamp(20px, 9vw, 145px); color: #fff9f2; background: var(--red); }
.cta-band .eyebrow { color: #ffd8a6; margin-bottom: 8px; }
.cta-band h2 { margin: 0; font-size: clamp(2rem, 3.2vw, 3.2rem); }

.site-footer { padding: 58px clamp(20px, 8vw, 130px) 20px; color: #e6ddd6; background: #2d2825; }
.footer-main { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 55px; max-width: 1200px; margin: 0 auto; padding-bottom: 49px; }
.footer-brand .brand-copy b { color: #fff; }
.footer-brand .brand-copy small { color: #bcb0a7; }
.footer-main p { max-width: 285px; margin: 17px 0 0; color: #bdb2aa; font-size: 13px; line-height: 1.7; }
.footer-main p svg { width: 14px; vertical-align: middle; }
.footer-main h4 { margin-bottom: 16px; color: #fff; font-size: 13px; }
.footer-main > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-main > div:last-child a { color: #bdb2aa; font-size: 13px; }
.footer-main > div:last-child a:hover, .footer-main p a:hover { color: white; }
.footer-bottom { display: flex; justify-content: space-between; max-width: 1200px; margin: 0 auto; padding-top: 19px; border-top: 1px solid #4a433e; color: #988d85; font-size: 11px; }
.footer-bottom > span:last-child { display: flex; gap: 19px; }

.page-intro { max-width: 900px; margin: 0 auto; padding: 80px 20px 52px; text-align: center; }
.page-intro .eyebrow { justify-content: center; }
.page-intro h1 { margin-bottom: 16px; font-size: clamp(2.7rem, 5.5vw, 4.8rem); }
.page-intro p:not(.eyebrow) { max-width: 670px; margin: 0 auto; color: var(--muted); line-height: 1.65; }
.menu-page { background: linear-gradient(#fbf4ed 0, #fffdf9 370px); }
.menu-controls { max-width: 1160px; margin: 0 auto; padding: 0 20px 24px; }
.search-box { display: flex; max-width: 570px; height: 54px; align-items: center; gap: 10px; margin: 0 auto 25px; padding: 0 16px; border: 1px solid #e5d9d0; border-radius: 9px; color: #8c7770; background: #fff; box-shadow: 0 4px 18px rgba(60,34,19,.04); }
.search-box input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; }
.segmented { display: flex; width: max-content; margin: 0 auto 20px; padding: 3px; border-radius: 7px; background: #f3eae2; }
.segmented button { min-height: 34px; padding: 0 15px; border: 0; border-radius: 5px; color: #766a63; background: transparent; font-size: 12px; font-weight: 700; }
.segmented button.selected { color: var(--ink); background: #fff; box-shadow: 0 2px 6px rgba(51,32,16,.09); }
.category-chips { display: flex; justify-content: center; gap: 8px; overflow-x: auto; padding: 4px 1px 10px; scrollbar-width: none; }
.category-chips::-webkit-scrollbar { display: none; }
.category-chips button { flex: 0 0 auto; min-height: 34px; padding: 0 14px; border: 1px solid #e7ddd4; border-radius: 99px; color: #6d625b; background: #fffdf9; font-size: 12px; font-weight: 600; transition: .2s ease; }
.category-chips button.selected, .category-chips button:hover { border-color: var(--red); color: white; background: var(--red); }
.menu-results { padding-top: 28px; }
.results-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; color: var(--muted); font-size: 13px; }
.service-copy { display: inline-flex; align-items: center; gap: 5px; color: #867b73; font-size: 12px; }

.cart-page, .checkout-page { max-width: 1190px; margin: 0 auto; padding: 0 20px 100px; }
.compact-intro { padding: 58px 0 38px; text-align: left; }
.compact-intro .eyebrow { justify-content: flex-start; }
.compact-intro p:not(.eyebrow) { margin-left: 0; }
.cart-layout, .checkout-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .7fr); align-items: start; gap: 43px; }
.cart-list { display: flex; flex-direction: column; gap: 13px; }
.cart-item { display: grid; grid-template-columns: 108px 1fr; gap: 16px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.cart-item > img { width: 108px; height: 104px; border-radius: 7px; object-fit: cover; }
.cart-item-info { min-width: 0; }
.cart-title { display: flex; justify-content: space-between; gap: 12px; }
.cart-title h3 { margin: 2px 0 5px; font-size: 15px; }
.cart-title p, .cart-title small { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.cart-title small { display: block; margin-top: 4px; color: var(--red-dark); }
.icon-button { display: grid; flex: 0 0 auto; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 50%; background: transparent; }
.delete { color: #9c7970; }
.delete:hover { color: var(--red); background: #fff4f1; }
.cart-item-bottom { display: flex; align-items: end; justify-content: space-between; margin-top: 13px; }
.cart-item-bottom strong { font-size: 14px; }
.qty-control { display: inline-flex; height: 31px; align-items: center; gap: 10px; padding: 0 4px; border: 1px solid #e3d7cf; border-radius: 6px; }
.qty-control button { display: grid; width: 23px; height: 23px; place-items: center; border: 0; border-radius: 4px; color: var(--red); background: #f9eee7; }
.qty-control b { min-width: 12px; text-align: center; font-size: 12px; }
.qty-control.large { height: 43px; gap: 12px; }
.qty-control.large button { width: 31px; height: 31px; }
.qty-control.large b { font-size: 14px; }
.continue-link { display: inline-flex; width: max-content; align-items: center; gap: 7px; margin-top: 8px; color: var(--red); font-size: 13px; font-weight: 700; }
.continue-link svg { transform: rotate(180deg); }
.order-card { position: sticky; top: 100px; padding: 25px; border: 1px solid #e5d8ce; border-radius: 12px; background: #fffdfa; box-shadow: var(--soft-shadow); }
.order-card h2 { margin-bottom: 19px; font-size: 23px; }
.delivery-message { display: flex; gap: 8px; margin-bottom: 17px; padding: 11px; border-radius: 6px; color: #6a5b52; background: #f7ede4; font-size: 11px; line-height: 1.5; }
.delivery-message svg { flex: 0 0 auto; color: var(--red); }
.coupon-box { display: flex; height: 42px; margin-top: 3px; overflow: hidden; border: 1px dashed #d5b8a9; border-radius: 6px; }
.coupon-box input { min-width: 0; flex: 1; padding: 0 10px; border: 0; outline: 0; background: transparent; font-size: 12px; text-transform: uppercase; }
.coupon-box button { padding: 0 13px; border: 0; color: var(--red); background: transparent; font-size: 12px; font-weight: 800; }
.coupon-hint { display: block; margin: 8px 0 18px; color: #96877d; font-size: 10px; }
.totals { padding-top: 17px; border-top: 1px solid var(--line); }
.totals > div { display: flex; align-items: center; justify-content: space-between; margin: 11px 0; color: #6d625c; font-size: 13px; }
.totals b { color: var(--ink); font-size: 13px; }
.totals small { margin-left: 4px; color: var(--green); font-size: 10px; font-weight: 700; }
.totals .discount-row, .totals .discount-row b { color: var(--green); }
.totals .grand-total { margin: 18px 0 21px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--ink); font-size: 15px; font-weight: 700; }
.totals .grand-total strong { font-size: 21px; }
.order-footnote { display: flex; align-items: center; justify-content: center; gap: 5px; margin: 13px 0 0; color: #9a8b82; font-size: 10px; text-align: center; line-height: 1.45; }

.checkout-page { max-width: 1150px; }
.checkout-layout { grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); }
.checkout-form { display: flex; flex-direction: column; gap: 20px; }
.form-section { padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.form-section-heading { display: flex; gap: 11px; margin-bottom: 23px; }
.form-section-heading > span { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--red); background: #f5e5d7; font-size: 11px; font-weight: 800; }
.form-section-heading h2 { margin: 1px 0 4px; font-size: 20px; }
.form-section-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; overflow: hidden; transition: max-height .3s ease, opacity .25s ease, margin .2s ease; }
.form-grid.hidden-fields { max-height: 0; opacity: 0; margin-top: -17px; pointer-events: none; }
label { display: block; color: #5a504a; font-size: 12px; font-weight: 700; }
label b { color: var(--red); }
label small { color: #9b8c83; font-size: 10px; font-weight: 500; }
input, textarea { width: 100%; margin-top: 7px; padding: 12px; border: 1px solid #dfd5cd; border-radius: 6px; outline: 0; color: var(--ink); background: #fffefa; font-size: 13px; transition: border .2s ease, box-shadow .2s ease; }
textarea { resize: vertical; line-height: 1.5; }
input:focus, textarea:focus { border-color: #c55c3b; box-shadow: 0 0 0 3px rgba(183,68,34,.1); }
.full-field { grid-column: 1 / -1; }
.delivery-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.delivery-option { position: relative; min-height: 87px; padding: 14px 13px 13px 47px; border: 1px solid #e2d8d0; border-radius: 8px; cursor: pointer; }
.delivery-option.selected { border-color: var(--red); background: #fff9f5; }
.delivery-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.delivery-option > span { position: absolute; top: 17px; left: 13px; color: var(--red); }
.delivery-option b, .delivery-option small { display: block; }
.delivery-option b { font-size: 12px; }
.delivery-option small { margin-top: 4px; font-size: 10px; line-height: 1.4; }
.privacy-note { display: flex; align-items: center; gap: 6px; margin: 0 0 1px; color: #7f746d; font-size: 11px; }
.privacy-note svg { color: var(--green); }
.checkout-submit { min-height: 55px; }
.checkout-summary { top: 99px; }
.mini-items { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.mini-items div { display: flex; justify-content: space-between; gap: 9px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.mini-items b { flex: 0 0 auto; color: var(--ink); }

.narrow-page { display: flex; min-height: calc(100vh - 82px); align-items: center; justify-content: center; padding: 70px 20px; background: linear-gradient(155deg, #fcf5ed, #fffdfa 70%); }
.empty-state { max-width: 530px; padding: 51px 32px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: var(--soft-shadow); text-align: center; }
.empty-state > span { display: grid; width: 62px; height: 62px; margin: 0 auto 18px; place-items: center; border-radius: 50%; background: #f9ece1; font-size: 27px; }
.empty-state .eyebrow { justify-content: center; }
.empty-state h1, .empty-state h2 { margin-bottom: 10px; font-size: 35px; }
.empty-state p { margin-bottom: 24px; color: var(--muted); line-height: 1.6; }
.empty-state.wide { grid-column: 1 / -1; max-width: none; box-shadow: none; }
.success-card, .track-card, .legal-card { width: min(100%, 650px); padding: clamp(30px, 6vw, 58px); border: 1px solid #e6d8cc; border-radius: 16px; background: #fffdfa; box-shadow: var(--shadow); text-align: center; }
.success-mark { display: grid; width: 62px; height: 62px; margin: 0 auto 21px; place-items: center; border-radius: 50%; color: white; background: var(--green); box-shadow: 0 9px 18px rgba(49,107,74,.18); }
.success-card .eyebrow, .track-card .eyebrow { justify-content: center; margin-bottom: 12px; }
.success-card h1, .track-card h1 { margin-bottom: 11px; font-size: clamp(2.15rem, 5vw, 3.15rem); }
.success-card > p:not(.eyebrow), .track-card > p { color: var(--muted); font-size: 14px; line-height: 1.6; }
.success-order-info { display: flex; gap: 11px; margin: 28px 0; padding: 15px; border-radius: 8px; color: #5f534c; background: #f7eee7; text-align: left; }
.success-order-info span { color: #3a8e5b; }
.success-order-info p { margin: 0; font-size: 12px; line-height: 1.6; }
.success-actions { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }
.status-line { display: flex; justify-content: center; margin: 25px 0 5px; }
.status-line > div { position: relative; display: flex; width: 20%; flex-direction: column; align-items: center; gap: 8px; color: #a69a92; font-size: 9px; font-weight: 700; line-height: 1.25; text-align: center; }
.status-line > div::before { position: absolute; z-index: 0; top: 9px; left: -50%; width: 100%; height: 1px; background: #ddd4cd; content: ""; }
.status-line > div:first-child::before { display: none; }
.status-line i { position: relative; z-index: 1; display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid #d5ccc5; border-radius: 50%; background: #fffdfa; font-size: 9px; font-style: normal; }
.status-line .done { color: var(--green); }
.status-line .done i { border-color: var(--green); color: white; background: var(--green); }
.status-line .done::before { background: var(--green); }
.status-line .current i { box-shadow: 0 0 0 4px rgba(49,107,74,.12); }
.customer-current-status { margin: 14px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; text-align: center; }
.customer-current-status b { color: var(--green); }
.customer-order-status .track-error { margin-bottom: 0; }
.track-card { text-align: left; }
.track-card .eyebrow { justify-content: flex-start; }
.track-card form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 26px; }
.track-card form .btn { grid-column: 1 / -1; }
.track-error { margin: 18px 0 0; padding: 11px; border-radius: 6px; color: #9e412c; background: #fff0eb; font-size: 12px; line-height: 1.5; }
.track-order-result { margin-top: 25px; padding-top: 24px; border-top: 1px solid var(--line); text-align: center; }
.track-order-result .eyebrow { justify-content: center; }
.track-order-result h2 { margin-bottom: 4px; font-size: 25px; }
.track-order-result > p:not(.eyebrow) { margin-bottom: 0; font-size: 11px; }
.legal-card { text-align: left; }
.legal-card h1 { font-size: 42px; }
.legal-card p { color: var(--muted); line-height: 1.75; }

.about-intro { padding-bottom: 58px; }
.about-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(35px, 7vw, 100px); max-width: 1120px; margin: 0 auto 100px; padding: 0 20px; }
.about-photo { min-height: 450px; overflow: hidden; border-radius: 190px 190px 13px 13px; background: #e7d7c8; }
.about-photo img { width: 100%; height: 100%; min-height: 450px; object-fit: cover; }
.about-layout h2 { margin-bottom: 18px; font-size: clamp(2rem, 3.5vw, 3.2rem); }
.about-layout p:not(.eyebrow) { color: var(--muted); line-height: 1.75; }
.values { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0; }
.values span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 5px; color: #655a53; background: #f6ece3; font-size: 11px; font-weight: 700; }
.values svg { color: var(--red); }
.contact-page { min-height: calc(100vh - 82px); padding: 0 20px 95px; background: linear-gradient(175deg, #f9f0e8, #fffdfa 65%); }
.contact-intro { padding-bottom: 39px; }
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; max-width: 1090px; margin: 0 auto; }
.contact-card { min-height: 210px; padding: 27px; border: 1px solid #e5d9d0; border-radius: 12px; background: #fffdfa; box-shadow: 0 5px 20px rgba(65,35,20,.04); transition: transform .2s ease; }
a.contact-card:hover { transform: translateY(-4px); }
.contact-card > span { display: grid; width: 44px; height: 44px; margin-bottom: 23px; place-items: center; border-radius: 50%; color: var(--red); background: #f6e1d1; }
.contact-card p { margin-bottom: 7px; color: var(--muted); font-size: 12px; }
.contact-card h2 { margin-bottom: 5px; font-family: "DM Sans", sans-serif; font-size: 17px; letter-spacing: -.025em; }
.contact-card small { color: #897b72; font-size: 11px; }
.contact-note { display: flex; align-items: center; gap: 18px; max-width: 930px; margin: 67px auto 0; padding: 30px; border-radius: 13px; color: #fff8f1; background: var(--red); }
.contact-note > span { display: grid; width: 45px; height: 45px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--red); background: #ffdab5; }
.contact-note h2 { margin-bottom: 5px; font-size: 23px; }
.contact-note p { margin: 0; color: #ffe4d2; font-size: 13px; line-height: 1.6; }

.sticky-cart { position: fixed; z-index: 15; right: 22px; bottom: 20px; display: flex; min-width: 230px; align-items: center; justify-content: space-between; gap: 25px; padding: 12px 14px 12px 16px; border-radius: 8px; color: white; background: #302925; box-shadow: 0 15px 31px rgba(42,25,15,.25); }
.sticky-cart span b, .sticky-cart span small { display: block; }
.sticky-cart span b { font-size: 11px; }
.sticky-cart span small { margin-top: 3px; color: #e1d4cc; font-size: 11px; }
.sticky-cart strong { display: inline-flex; align-items: center; gap: 4px; color: #ffcf9e; font-size: 11px; }

.modal-layer { position: fixed; z-index: 40; inset: 0; display: flex; align-items: end; justify-content: center; padding: 22px; opacity: 0; background: rgba(36, 28, 23, .52); transition: opacity .2s ease; }
.modal-layer.visible { opacity: 1; }
.customizer { position: relative; display: grid; grid-template-columns: 34% 66%; width: min(100%, 810px); max-height: min(760px, calc(100vh - 35px)); overflow: auto; border-radius: 14px; background: #fffdfa; box-shadow: 0 22px 75px rgba(20,15,10,.35); transform: translateY(15px); transition: transform .25s ease; }
.visible .customizer { transform: translateY(0); }
.modal-close { position: absolute; z-index: 2; top: 12px; right: 12px; display: grid; width: 34px; height: 34px; place-items: center; border: 0; border-radius: 50%; color: var(--ink); background: rgba(255,255,255,.94); box-shadow: 0 2px 8px rgba(0,0,0,.1); }
.customizer-photo { position: sticky; top: 0; height: 100%; min-height: 510px; }
.customizer-photo img { width: 100%; height: 100%; object-fit: cover; }
.customizer form { display: flex; min-width: 0; flex-direction: column; }
.customizer-content { padding: 32px 34px 5px; }
.customizer-content h2 { margin: 10px 0 7px; font-size: 31px; }
.customizer-content p { margin-bottom: 11px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.modal-price { font-size: 18px; }
.customizer fieldset { margin: 17px 34px 0; padding: 17px 0 0; border: 0; border-top: 1px solid var(--line); }
.customizer legend { padding: 0; color: #5a504a; font-size: 12px; font-weight: 800; }
.choice-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.choice-row label { cursor: pointer; }
.choice-row input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.choice-row span { display: block; padding: 8px 13px; border: 1px solid #ded4cc; border-radius: 99px; color: #756a63; font-size: 11px; font-weight: 700; }
.choice-row input:checked + span { border-color: var(--red); color: var(--red); background: #fff7f2; }
.addon-list { display: flex; flex-direction: column; gap: 0; margin-top: 8px; }
.addon-list label { display: grid; grid-template-columns: 16px 1fr auto; align-items: center; gap: 9px; padding: 8px 0; border-bottom: 1px solid #f1e8e2; cursor: pointer; color: #5c514b; font-size: 12px; }
.addon-list input { width: 15px; height: 15px; margin: 0; accent-color: var(--red); }
.addon-list b { color: var(--red); font-size: 11px; }
.notes-label { display: block; margin: 18px 34px 26px; }
.customizer-bottom { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 34px; border-top: 1px solid var(--line); background: #fffdfa; }
.customizer-bottom .btn { min-width: 230px; }
.customizer-bottom .btn span { padding-left: 5px; border-left: 1px solid rgba(255,255,255,.32); }

.admin-page { display: grid; min-height: 100vh; grid-template-columns: 246px 1fr; background: #f7f4f1; }
.admin-side { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; gap: 5px; padding: 28px 18px; color: #d8cfca; background: #2c2826; }
.admin-side > p { margin: 15px 8px 24px; color: #978d87; font-size: 10px; }
.admin-side > a:not(.brand) { padding: 11px 11px; border-radius: 6px; color: #bfb4ac; font-size: 12px; font-weight: 700; }
.admin-side > a.selected, .admin-side > a:not(.brand):hover { color: white; background: #413a36; }
.admin-side > small { margin: auto 8px 0; color: #8c817a; font-size: 10px; line-height: 1.6; }
.admin-content { max-width: 1120px; padding: 50px clamp(25px, 5vw, 73px); }
.admin-content .eyebrow { margin-bottom: 11px; }
.admin-content h1 { margin-bottom: 7px; font-size: 42px; }
.admin-sub { color: var(--muted); font-size: 13px; }
.admin-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin: 37px 0; }
.admin-stats article { padding: 20px; border: 1px solid #e2dad5; border-radius: 10px; background: #fff; }
.admin-stats small, .admin-stats span { display: block; color: var(--muted); font-size: 11px; }
.admin-stats strong { display: block; margin: 8px 0 6px; font-size: 29px; }
.admin-orders { overflow: hidden; border: 1px solid #e1d8d1; border-radius: 10px; background: #fff; }
.admin-orders-head { padding: 23px; border-bottom: 1px solid var(--line); }
.admin-orders-head h2 { margin-bottom: 4px; font-size: 23px; }
.admin-orders-head p { margin: 0; color: var(--muted); font-size: 12px; }
.admin-table-head, .admin-row { display: grid; grid-template-columns: 1.1fr 1.1fr .85fr 1.1fr; gap: 10px; align-items: center; padding: 13px 23px; }
.admin-table-head { color: #90847d; background: #fbf8f5; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-row { border-top: 1px solid #f0e9e4; font-size: 12px; }
.admin-row span b, .admin-row span small { display: block; }
.admin-row span small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.admin-row select { width: 100%; padding: 7px 6px; border: 1px solid #ddd3cc; border-radius: 4px; color: #594e47; background: white; font-size: 10px; font-weight: 700; }

.toast { position: fixed; z-index: 70; bottom: 24px; left: 50%; max-width: calc(100vw - 42px); padding: 12px 17px; border-radius: 7px; color: white; background: #302a27; box-shadow: 0 10px 27px rgba(0,0,0,.22); font-size: 12px; font-weight: 700; opacity: 0; pointer-events: none; transform: translate(-50%, 18px); transition: opacity .2s ease, transform .2s ease; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* Diet filters are deliberately colour-coded so a glance is enough to distinguish them. */
.segmented .diet-filter { display: inline-flex; align-items: center; gap: 5px; border: 1px solid transparent; }
.segmented .diet-filter i { display: block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.segmented .diet-filter.veg { color: #287746; }
.segmented .diet-filter.nonveg { color: #b84132; }
.segmented .diet-filter.veg.selected { border-color: #287746; color: white; background: #287746; box-shadow: 0 2px 6px rgba(40,119,70,.2); }
.segmented .diet-filter.nonveg.selected { border-color: #b84132; color: white; background: #b84132; box-shadow: 0 2px 6px rgba(184,65,50,.2); }

.custom-craving-banner { display: flex; max-width: 825px; align-items: center; gap: 13px; margin: 22px auto 0; padding: 15px 18px; border: 1px solid #e1b679; border-radius: 9px; color: #49352a; background: #fff1da; box-shadow: 0 7px 18px rgba(114,70,26,.06); transition: transform .2s ease, box-shadow .2s ease; }
.custom-craving-banner:hover { box-shadow: 0 11px 23px rgba(114,70,26,.12); transform: translateY(-2px); }
.craving-spark { display: grid; width: 33px; height: 33px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: white; background: #c45b2d; }
.custom-craving-banner span:nth-child(2) { min-width: 0; flex: 1; }
.custom-craving-banner small, .custom-craving-banner b { display: block; }
.custom-craving-banner small { margin-bottom: 3px; color: #a55a32; font-size: 9px; font-weight: 800; letter-spacing: .09em; }
.custom-craving-banner b { font-size: 12px; line-height: 1.35; }
.custom-craving-banner > strong { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 5px; color: #a14320; font-size: 11px; }

.compact-footer { padding: 23px clamp(20px, 6vw, 92px) 14px; color: #3e342e; background: #eee1d5; }
.footer-compact { display: grid; grid-template-columns: auto minmax(160px, 1fr) auto auto; max-width: 1200px; align-items: center; gap: 25px; margin: 0 auto; }
.compact-footer .footer-brand .brand-copy b { color: #332821; }
.compact-footer .footer-brand .brand-copy small { color: #86756a; }
.footer-promise { margin: 0; color: #6d5e54; font-size: 12px; font-weight: 600; }
.footer-contact, .footer-links { display: flex; align-items: center; gap: 14px; }
.footer-contact { color: #66574e; font-size: 11px; }
.footer-contact span, .footer-contact a { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.footer-contact a { color: #9d3e22; font-weight: 800; }
.footer-links { gap: 12px; }
.footer-links a { color: #6a4c3d; font-size: 11px; font-weight: 700; white-space: nowrap; }
.footer-links a:hover { color: var(--red); }
.compact-footer .footer-bottom { max-width: 1200px; margin-top: 14px; padding-top: 12px; border-color: #d6c3b5; color: #8b786d; }
.compact-footer .footer-bottom a { color: #786358; }
.compact-footer .footer-bottom a:hover { color: var(--red); }

.custom-order-page { min-height: calc(100vh - 82px); padding: clamp(35px, 7vw, 90px) 20px; background: linear-gradient(145deg, #fff2e1, #fffdfa 58%); }
.custom-order-card { display: grid; grid-template-columns: .9fr 1.1fr; width: min(100%, 970px); margin: 0 auto; overflow: hidden; border: 1px solid #e7d7c8; border-radius: 15px; background: #fffdfa; box-shadow: var(--shadow); }
.custom-order-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(31px, 5vw, 63px); color: #fff8f2; background: var(--red); }
.custom-order-copy .eyebrow { color: #ffd5af; }
.custom-order-copy h1 { margin-bottom: 16px; font-size: clamp(2.45rem, 4vw, 3.8rem); }
.custom-order-copy > p:not(.eyebrow) { margin-bottom: 27px; color: #ffe3cd; font-size: 14px; line-height: 1.7; }
.craving-points { display: grid; gap: 12px; }
.craving-points span { display: flex; align-items: center; gap: 8px; color: #ffead8; font-size: 11px; font-weight: 700; }
.craving-points svg { color: #ffcd91; }
.custom-order-form { display: flex; flex-direction: column; gap: 18px; padding: clamp(29px, 5vw, 52px); }
.custom-order-form .form-grid { gap: 14px; }
.custom-order-form select { width: 100%; margin-top: 7px; padding: 12px; border: 1px solid #dfd5cd; border-radius: 6px; outline: 0; color: var(--ink); background: #fffefa; font-size: 13px; }
.custom-order-form .btn { min-height: 54px; margin-top: 2px; }
.custom-order-note { margin: -7px 0 0; color: #8c7b72; font-size: 10px; text-align: center; }

@media (max-width: 850px) {
  .site-header { height: 82px; padding: 15px 20px 0; }
  .heritage-wrap { inset: -18px 0 auto; height: 67px; opacity: .58; }
  .brand-location { display: none; }
  .desktop-nav, .call-link { display: none; }
  .mobile-toggle { display: grid; width: 36px; height: 36px; place-items: center; }
  .header-actions { gap: 8px; }
  .mobile-menu { position: absolute; top: 69px; right: 0; left: 0; padding: 14px 20px 18px; background: #fffdfa; box-shadow: 0 12px 20px rgba(40,25,15,.08); }
  .mobile-menu.open { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .mobile-menu a { padding: 10px 6px; border-bottom: 1px solid #eee5df; color: #5b5049; font-size: 13px; font-weight: 700; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { order: 2; padding: 41px 25px 50px; }
  .hero h1 { font-size: clamp(3.2rem, 13vw, 4.4rem); }
  .hero-visual { min-height: 380px; padding: 30px 46px 0; }
  .hero-circle { top: -37%; left: -9%; width: 117%; }
  .hero-main-image { height: 350px; border-radius: 170px 170px 12px 12px; }
  .floating-card-top { top: 45px; left: 10px; }
  .floating-card-bottom { right: 8px; bottom: -12px; }
  .trust-strip { margin: 0 20px; grid-template-columns: 1fr; }
  .trust-strip > div { min-height: 68px; justify-content: flex-start; padding-left: 24px; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-strip > div:last-child { border-bottom: 0; }
  .section { padding: 70px 20px; }
  .food-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .food-image, .compact .food-image { height: 176px; }
  .food-content { padding: 13px; }
  .food-card h3 { font-size: 15px; }
  .food-card p { min-height: 57px; margin-bottom: 12px; font-size: 11px; }
  .story-banner { grid-template-columns: 1fr; margin: 0 20px; }
  .story-image { min-height: 260px; }
  .story-copy { padding: 38px 25px; }
  .steps { grid-template-columns: 1fr; gap: 26px; }
  .steps > div:not(:last-child)::after { top: auto; right: 50%; bottom: -17px; width: 1px; height: 9px; border-top: 0; border-right: 1px dashed #d7bdaa; }
  .cta-band { display: block; padding: 39px 25px; }
  .cta-band .btn { margin-top: 21px; }
  .footer-main { grid-template-columns: 1fr; gap: 29px; }
  .footer-bottom { display: block; line-height: 2; }
  .footer-bottom > span:last-child { gap: 13px; }
  .page-intro { padding: 52px 20px 36px; }
  .page-intro h1 { font-size: clamp(2.5rem, 11vw, 4rem); }
  .results-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .cart-page, .checkout-page { padding-bottom: 62px; }
  .cart-layout, .checkout-layout { grid-template-columns: 1fr; gap: 25px; }
  .order-card { position: static; }
  .checkout-summary { order: -1; }
  .form-section { padding: 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .full-field { grid-column: auto; }
  .delivery-options { grid-template-columns: 1fr; }
  .sticky-cart { right: 13px; bottom: 13px; left: 13px; min-width: 0; }
  .modal-layer { padding: 0; }
  .customizer { grid-template-columns: 1fr; width: 100%; max-height: 91vh; border-radius: 15px 15px 0 0; }
  .customizer-photo { position: relative; min-height: 175px; max-height: 175px; }
  .customizer-content { padding: 21px 21px 3px; }
  .customizer-content h2 { font-size: 27px; }
  .customizer fieldset { margin-right: 21px; margin-left: 21px; }
  .notes-label { margin-right: 21px; margin-left: 21px; }
  .customizer-bottom { padding: 12px 21px; }
  .customizer-bottom .btn { min-width: 0; flex: 1; padding: 0 10px; }
  .admin-page { grid-template-columns: 1fr; }
  .admin-side { position: static; height: auto; padding: 18px 20px; }
  .admin-side > p { margin: 12px 0; }
  .admin-side > small { display: none; }
  .admin-content { padding: 37px 20px; }
  .admin-stats { grid-template-columns: 1fr; margin: 25px 0; }
  .admin-table { overflow-x: auto; }
  .admin-table-head, .admin-row { min-width: 620px; }
}

/* Menu catalogue v3 — clear weight choices, compact controls and responsive owner editing. */
.premium-menu-page .menu-intro { max-width: 780px; padding-bottom: 24px; }
.premium-menu-page .menu-intro h1 em { color: #a95524; }
.premium-menu-page .menu-intro b { color: #58341d; }
.menu-food-card { display: flex; flex-direction: column; min-height: 100%; border-color: #eadbc9; box-shadow: 0 9px 28px rgba(76, 45, 22, .08); }
html, body { max-width: 100%; overflow-x: hidden; }
.menu-page, .menu-page > *, .site-header, .site-footer { min-width: 0; max-width: 100%; }
.menu-controls { min-width: 0; }
.category-chips { display: flex; max-width: 100%; overflow-x: auto; padding-bottom: 5px; scrollbar-width: none; }
.category-chips::-webkit-scrollbar { display: none; }
.category-chips button { flex: 0 0 auto; }
.menu-food-card .food-image { aspect-ratio: 1.18 / .78; }
.menu-food-card .food-content { display: flex; flex: 1; flex-direction: column; }
.menu-food-card .food-content > p { min-height: 42px; }
.menu-food-card .food-pill { margin-bottom: 8px; }
.menu-weight-prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 17px 0 13px; }
.menu-weight-prices span { display: grid; gap: 3px; padding: 9px 10px; border: 1px solid #e6d4bd; border-radius: 8px; background: #fffaf3; }
.menu-weight-prices small { color: #87694d; font-size: 10px; font-weight: 800; letter-spacing: .03em; }
.menu-weight-prices b, .menu-single-price b { color: #4b2a16; font-size: 15px; }
.menu-single-price { display: flex; align-items: baseline; gap: 5px; min-height: 49px; padding-top: 17px; }
.menu-single-price small { color: #866e57; font-size: 11px; font-weight: 700; }
.menu-card-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: auto; padding-top: 4px; }
.menu-card-actions button { min-height: 39px; border-radius: 8px; font-size: 11px; font-weight: 800; }
.menu-customize { padding: 0 10px; border: 1px solid #d9b994; color: #75431c; background: #fffaf4; }
.menu-add { display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 0 13px; border: 1px solid #623612; color: #fff9ed; background: #623612; }
.menu-card-actions button:disabled { cursor: not-allowed; opacity: .5; }
.menu-customizer .customizer-photo { min-height: 220px; }
.modal-layer { box-sizing: border-box; overflow: auto; }
.modal-layer *, .customizer, .customizer form { box-sizing: border-box; }
.menu-customizer { max-width: calc(100vw - 24px); }
.menu-customizer .modal-close { z-index: 5; }
.menu-customizer .customizer-content { padding-bottom: 8px; }
.variant-fieldset { border: 0; border-top: 1px solid #eadccc; }
.variant-fieldset legend { padding: 0; }
.variant-fieldset legend b { color: #b4432d; }
.variant-hint { margin: -3px 0 11px !important; color: #866d57 !important; font-size: 12px !important; }
.variant-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.variant-options label { position: relative; display: block; cursor: pointer; }
.variant-options input { position: absolute; opacity: 0; }
.variant-options span { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 54px; padding: 10px 12px; border: 1px solid #dfc6a9; border-radius: 8px; color: #5a3720; background: #fffdf9; transition: .15s ease; }
.variant-options b { font-size: 13px; }
.variant-options small { color: #8b4d1f; font-size: 12px; font-weight: 900; }
.variant-options input:checked + span { border-color: #9b5421; outline: 2px solid rgba(155,84,33,.16); background: #fff2df; }
.variant-options input:focus-visible + span { outline: 3px solid #c98444; }
.modal-fixed-price { display: grid; gap: 4px; margin: 17px 0; padding: 10px 12px; border-radius: 8px; background: #fff3e3; }
.modal-fixed-price small { color: #896044; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.modal-fixed-price b { color: #4a2c18; font-size: 19px; }
.menu-mini-items span { display: grid !important; gap: 2px; }
.menu-mini-items span small { color: #8e633e; font-size: 10px; font-weight: 800; }
.menu-admin-products { display: grid; grid-template-columns: minmax(300px, .65fr) minmax(0, 1.35fr); gap: 20px; align-items: start; }
.menu-admin-form, .menu-admin-product-save .menu-admin-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.menu-admin-form label:nth-of-type(4), .menu-admin-form label:nth-of-type(5), .menu-admin-form label:nth-of-type(6), .menu-admin-form label:nth-of-type(7) { min-width: 0; }
.menu-admin-list { display: grid; gap: 13px; margin-top: 16px; }
.menu-admin-list > article { overflow: hidden; border: 1px solid #eadfce; border-radius: 10px; background: #fffdfa; }
.menu-admin-list > article.off { opacity: .65; }
.menu-admin-list > article > img { width: 100%; height: 130px; object-fit: cover; display: block; }
.menu-admin-product-save header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 13px 15px 9px; }
.menu-admin-product-save header > span { display: grid; gap: 5px; }
.menu-admin-product-save header > span > b { color: #452916; font-size: 15px; }
.menu-admin-product-save header > span > small { color: #8b7059; font-size: 10px; }
.menu-admin-product-save header > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.menu-admin-product-save .menu-admin-fields { display: grid; gap: 9px; padding: 7px 15px 15px; }
.menu-admin-product-save .menu-admin-fields label, .menu-admin-form label { display: grid; gap: 5px; color: #715943; font-size: 10px; font-weight: 800; }
.menu-admin-product-save .menu-admin-fields input, .menu-admin-product-save .menu-admin-fields select { min-width: 0; }
.menu-admin-product-save footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; border-top: 1px solid #ede1d4; background: #fff8ef; }
.menu-admin-product-save footer span { color: #907153; font-size: 10px; font-weight: 700; }
.menu-admin-archive { min-height: 28px; padding: 0 8px; border: 1px solid #e0cfc0; border-radius: 5px; color: #956243; background: #fffaf4; font-size: 9px; font-weight: 800; }
.check-label { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 7px !important; }
.check-label input { width: auto !important; }
.menu-admin-bill-picker { display: grid; gap: 9px; max-height: 650px; overflow: auto; }
.menu-admin-bill-product { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 9px; align-items: center; padding: 8px; border: 1px solid #eadfce; border-radius: 8px; background: #fffdfa; }
.menu-admin-bill-product > img { width: 52px; height: 52px; border-radius: 6px; object-fit: cover; }
.menu-admin-bill-product > span { display: grid; min-width: 0; gap: 2px; }
.menu-admin-bill-product > span b { overflow: hidden; color: #49301d; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.menu-admin-bill-product > span small { color: #8c725b; font-size: 9px; }
.menu-admin-bill-product > div { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.menu-admin-bill-product > div button { display: flex; align-items: center; justify-content: space-between; min-height: 29px; padding: 0 8px; border: 1px solid #d9b992; border-radius: 5px; color: #70401b; background: #fff7ec; font-size: 9px; font-weight: 800; }
.menu-admin-bill-product > div button b { color: #5a3013; font-size: 9px; }

.homepage-conversion-block { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 45px; align-items: center; max-width: 1180px; margin: 0 auto; padding: 84px 28px; }
.full-home-menu { max-width: 1180px; margin: 0 auto; }
.full-home-menu .section-heading { align-items: end; }
.section-subtitle { max-width: 560px; margin: 10px 0 0; color: #866b54; font-size: 13px; line-height: 1.55; }
.home-menu-groups { display: grid; gap: 48px; }
.home-menu-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 0 0 15px; padding-bottom: 10px; border-bottom: 1px solid #eadbc9; }
.home-menu-group-heading h3 { margin: 0; color: #58321c; font: 700 22px "Playfair Display", Georgia, serif; }
.home-menu-group-heading span { color: #a16e42; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.home-menu-group .food-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-menu-group .food-card .food-image { aspect-ratio: 1.45 / 1; }
.home-menu-group .food-card .food-content { padding: 15px; }
.home-menu-group .food-card h3 { font-size: 17px; }
.home-menu-group .food-card p { font-size: 11px; }
.conversion-copy h2 { margin: 0 0 18px; color: #432515; font: 700 clamp(32px, 5vw, 57px)/.98 "Playfair Display", Georgia, serif; }
.conversion-copy h2 em { color: #a95524; }
.conversion-copy > p:not(.eyebrow) { max-width: 490px; color: #765e4a; font-size: 15px; line-height: 1.75; }
.conversion-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 25px; }
.conversion-proof { display: grid; grid-template-columns: 150px 1fr; gap: 22px; align-items: center; padding: 27px; border: 1px solid #e7d4bd; border-radius: 18px; background: linear-gradient(135deg, #fffaf2, #f4e3cf); box-shadow: 0 18px 45px rgba(87, 49, 20, .09); }
.proof-orbit { display: grid; width: 136px; height: 136px; place-content: center; gap: 4px; border: 1px solid #c99762; border-radius: 50%; outline: 8px solid rgba(201,151,98,.16); color: #5d361b; text-align: center; }
.proof-orbit span { color: #b06b28; font-size: 22px; }
.proof-orbit b { font: 700 17px "Playfair Display", Georgia, serif; }
.proof-orbit small { color: #947154; font-size: 9px; }
.proof-grid { display: grid; gap: 13px; }
.proof-grid article { display: grid; grid-template-columns: 30px 1fr; column-gap: 10px; padding-bottom: 12px; border-bottom: 1px solid #ead9c5; }
.proof-grid article:last-child { padding-bottom: 0; border-bottom: 0; }
.proof-grid strong { grid-row: span 2; color: #b36c2a; font-size: 11px; }
.proof-grid b { color: #4b2d1b; font-size: 13px; }
.proof-grid small { color: #896f57; font-size: 10px; line-height: 1.4; }
.craving-spotlight { display: flex; max-width: 1180px; align-items: center; justify-content: space-between; gap: 25px; margin: 0 auto 78px; padding: 34px 40px; border-radius: 16px; color: #fff6e9; background: linear-gradient(110deg, #4a2714, #8d4a22); box-shadow: 0 14px 38px rgba(81, 40, 16, .18); }
.craving-spotlight > div { max-width: 670px; }
.craving-spotlight .eyebrow { color: #efc88c; }
.craving-spotlight h2 { margin: 5px 0 8px; font: 700 29px "Playfair Display", Georgia, serif; }
.craving-spotlight p:not(.eyebrow) { margin: 0; color: #f1dcc1; font-size: 13px; line-height: 1.6; }
.craving-spotlight .craving-spark { float: left; margin: 0 13px 5px 0; color: #f2c77f; font-size: 29px; }
.craving-spotlight .btn-light { flex: 0 0 auto; }
@media (max-width: 760px) {
  .homepage-conversion-block { grid-template-columns: 1fr; gap: 28px; padding: 58px 19px; }
  .conversion-proof { grid-template-columns: 118px 1fr; padding: 18px; gap: 15px; }
  .proof-orbit { width: 110px; height: 110px; }
  .craving-spotlight { align-items: flex-start; flex-direction: column; margin: 0 19px 55px; padding: 27px 23px; }
  .full-home-menu .section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .home-menu-group .food-grid { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .menu-admin-products { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .premium-menu-page .menu-intro { padding-right: 0; padding-left: 0; }
  .menu-card-actions { grid-template-columns: 1fr 1fr; }
  .menu-card-actions button { padding-right: 8px; padding-left: 8px; }
  .menu-customizer .customizer-photo { min-height: 170px; }
  .variant-options { grid-template-columns: 1fr; }
  .menu-admin-form, .menu-admin-product-save .menu-admin-fields { grid-template-columns: 1fr; }
  .menu-admin-product-save header, .menu-admin-product-save footer { align-items: flex-start; flex-direction: column; }
  .menu-admin-product-save header > div { justify-content: flex-start; }
}

@media (max-width: 480px) {
  .site-header { position: relative; z-index: 30; }
  .mobile-menu { z-index: 40; max-height: calc(100vh - 70px); overflow-y: auto; }
  .page-intro, .menu-results, .menu-controls, .section { max-width: 100%; }
  .menu-controls { padding-right: 0; padding-left: 0; }
  .search-box { width: 100%; min-width: 0; }
  .segmented { max-width: 100%; }
  .food-grid, .home-menu-group .food-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .food-card { width: 100%; min-width: 0; }
  .custom-craving-banner { width: 100%; min-width: 0; }
  .results-head { flex-wrap: wrap; gap: 5px 12px; }
  .premium-menu-page .menu-results { padding-top: 20px; padding-bottom: 45px; }
  .premium-menu-page .menu-controls { padding-bottom: 6px; }
  .premium-menu-page .custom-craving-banner { margin-top: 15px; }
  .modal-layer { align-items: flex-end; justify-content: center; padding: 12px; }
  .menu-customizer { display: flex; width: 100%; max-width: 100%; max-height: calc(100dvh - 24px); flex-direction: column; overflow: auto; border-radius: 16px; }
  .menu-customizer .customizer-photo { min-height: 145px; max-height: 145px; flex: 0 0 145px; }
  .menu-customizer .customizer-photo img { width: 100%; height: 100%; object-fit: cover; }
  .menu-customizer form { min-height: 0; }
  .menu-customizer .customizer-content { overflow: auto; padding: 18px 16px 8px; }
  .menu-customizer .customizer-bottom { position: sticky; bottom: 0; z-index: 3; padding: 10px 16px; background: #fffdfa; box-shadow: 0 -5px 15px rgba(61,35,18,.08); }
  .menu-customizer .customizer-bottom .btn { min-width: 0; }
}

/* Mobile stability pass: every public section must be allowed to shrink to the
   viewport. This prevents wide children, decorative circles and long labels
   from creating a horizontal scroll that makes the page feel like it shakes. */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
#app, #app > *, main, section, article, header, footer { max-width: 100%; min-width: 0; }
main { overflow-x: clip; }
img, svg, video, canvas { max-width: 100%; }
button, input, textarea, select { max-width: 100%; }

.site-reviews-section { padding-top: 78px; padding-bottom: 78px; background: #fffdf9; }
.site-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.site-review-card { display: grid; gap: 13px; min-width: 0; padding: 20px; border: 1px solid #eadbd0; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(74,43,22,.055); }
.site-review-top, .site-review-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.site-review-stars { color: #c88628; font-size: 14px; letter-spacing: .08em; white-space: nowrap; }
.site-review-top time, .site-review-card footer span { color: #9a897d; font-size: 10px; }
.site-review-card p { min-height: 62px; margin: 0; color: #5e5148; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.site-review-card footer b { color: var(--ink); font-size: 12px; }
.site-review-card footer span { padding: 4px 7px; border-radius: 99px; background: #f7eee6; text-transform: capitalize; }
.site-reviews-empty { grid-column: 1 / -1; padding: 34px 20px; border: 1px dashed #dfcabc; border-radius: 14px; color: #755f50; text-align: center; }
.site-reviews-empty span { display: grid; width: 34px; height: 34px; margin: 0 auto 10px; place-items: center; border-radius: 50%; color: #fff; background: var(--red); }
.site-reviews-empty b, .site-reviews-empty p { display: block; }
.site-reviews-empty p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }

@media (max-width: 850px) {
  .site-header { width: 100%; max-width: 100vw; }
  .brand { min-width: 0; max-width: calc(100% - 100px); }
  .brand-copy { min-width: 0; }
  .brand-copy b, .brand-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .header-actions { flex: 0 0 auto; }
  .mobile-menu { right: 0; left: 0; width: 100%; max-width: 100vw; }
  .hero, .hero-copy, .hero-visual, .hero-campaign, .hero-campaign-grid, .hero-campaign-story, .hero-campaign-offer { width: 100%; max-width: 100%; min-width: 0; }
  .hero-copy { overflow-wrap: anywhere; }
  .hero h1 { max-width: 100%; font-size: clamp(2.35rem, 12vw, 3.8rem); }
  .hero-lead, .hero-note small, .hero-campaign p, .hero-campaign small { overflow-wrap: anywhere; }
  .hero-visual { overflow: hidden; }
  .hero-circle { max-width: none; }
  .section, .page-intro, .menu-controls, .menu-results, .story-banner, .cta-band, .trust-strip, .site-footer { width: 100%; }
  .section-heading h2, .story-copy h2, .cta-band h2 { max-width: 100%; overflow-wrap: anywhere; }
  .site-reviews-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .site-header { padding-right: 12px; padding-left: 12px; }
  .header-actions { gap: 4px; }
  .mobile-menu { top: 69px; padding-right: 14px; padding-left: 14px; }
  .hero-copy { padding-right: 18px; padding-left: 18px; }
  .hero-visual { min-height: 315px; padding-right: 30px; padding-left: 30px; }
  .hero-main-image { height: 285px; border-radius: 145px 145px 12px 12px; }
  .floating-card { padding: 9px 10px; }
  .floating-card-top { left: 2px; }
  .floating-card-bottom { right: 2px; bottom: -9px; }
  .hero-trust { gap: 10px; }
  .hero-trust span { min-width: 0; }
  .hero-trust b, .hero-trust small { overflow-wrap: anywhere; }
  .section { padding-right: 18px; padding-left: 18px; }
  .site-review-card { padding: 16px; }
  .site-feedback-form { padding-right: 16px; padding-left: 16px; }
  .site-feedback-form .feedback-rating { justify-content: space-between; }
  .site-feedback-form .feedback-rating span { min-width: 0; padding-right: 8px; padding-left: 8px; }
}

/* Customer tracking handoff: keep the reference visible after WhatsApp opens
   so a customer can return later without relying on browser history. */
.tracker-reference {
  display: grid;
  gap: 6px;
  margin: 22px auto 0;
  padding: 12px 14px;
  max-width: 100%;
  border: 1px dashed #d7b9a5;
  border-radius: 10px;
  background: #fff8f1;
  text-align: left;
}
.tracker-reference small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tracker-reference code {
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.5;
}
.tracking-updated { display: block; margin-top: 8px; color: #9a8d84; font-size: 10px; text-align: center; }
.tracking-notice { margin: 12px 0 0; text-align: left; }
.tracking-support, .feedback-card { margin-top: 25px; padding: 20px; border: 1px solid #ead8cc; border-radius: 12px; background: #fff8f1; text-align: left; }
.tracking-support b, .feedback-card h2 { display: block; color: var(--ink); }
.tracking-support p, .feedback-card > p:not(.eyebrow), .feedback-card small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.tracking-support > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.feedback-card { text-align: center; background: #fffdfa; }
.feedback-card .eyebrow { justify-content: center; margin-bottom: 8px; }
.feedback-card h2 { margin-bottom: 5px; font-size: 22px; }
.feedback-card form { display: grid; gap: 13px; margin-top: 16px; text-align: left; }
.feedback-card fieldset { padding: 0; border: 0; }
.feedback-card legend { margin-bottom: 8px; color: var(--ink); font-size: 12px; font-weight: 800; }
.feedback-rating { display: flex; justify-content: center; gap: 7px; }
.feedback-rating label { cursor: pointer; }
.feedback-rating input { position: absolute; opacity: 0; }
.feedback-rating span { display: inline-flex; min-width: 42px; justify-content: center; padding: 8px 6px; border: 1px solid #e7d7ca; border-radius: 8px; color: #a27b63; background: #fff; font-size: 12px; font-weight: 800; }
.feedback-rating input:checked + span { border-color: var(--red); color: #fff; background: var(--red); }
.feedback-card textarea { width: 100%; min-height: 82px; padding: 12px; border: 1px solid #ddcfc3; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; resize: vertical; }
.feedback-thanks-mark { display: grid; width: 36px; height: 36px; margin: 0 auto 10px; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-weight: 900; }
.site-feedback-section { padding-top: 78px; padding-bottom: 86px; background: linear-gradient(180deg, #fffaf5 0%, #f7eee7 100%); }
.site-feedback-section .section-heading { max-width: 650px; margin-inline: auto; }
.site-feedback-form { display: grid; gap: 17px; width: min(100%, 680px); margin: 28px auto 0; padding: clamp(20px, 4vw, 32px); border: 1px solid #ead8cc; border-radius: 18px; background: rgba(255,255,255,.82); box-shadow: 0 14px 34px rgba(92,58,37,.08); }
.site-feedback-form fieldset { padding: 0; border: 0; }
.site-feedback-form legend { margin-bottom: 10px; color: var(--ink); font-size: 12px; font-weight: 800; text-align: center; }
.site-feedback-form .feedback-rating { gap: 8px; }
.site-feedback-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.site-feedback-form label { display: grid; gap: 7px; color: var(--ink); font-size: 12px; font-weight: 800; text-align: left; }
.site-feedback-form label small { color: var(--muted); font-size: 10px; font-weight: 600; }
.site-feedback-form input, .site-feedback-form select { min-height: 43px; padding: 10px 12px; border: 1px solid #ddcfc3; border-radius: 8px; color: var(--ink); background: #fff; font: inherit; }
.site-feedback-form textarea { width: 100%; min-height: 105px; padding: 12px; border: 1px solid #ddcfc3; border-radius: 8px; color: var(--ink); background: #fff; font: inherit; resize: vertical; }
.site-feedback-form > .btn { justify-self: center; min-width: 190px; }
.site-feedback-message { min-height: 18px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; text-align: center; }
.site-feedback-message.success { color: var(--green); }
.site-feedback-message.error { color: #a4432b; }
@media (min-width: 601px) { .status-line > div { width: 16.666%; } }
.cart-track-link { margin-left: 14px; }
@media (max-width: 600px) {
  .cart-track-link { display: block; margin: 10px 0 0; }
  .feedback-rating { gap: 4px; }
  .feedback-rating span { min-width: 37px; padding-inline: 3px; }
  .site-feedback-fields { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .brand-mark { width: 35px; height: 35px; font-size: 21px; }
  .brand-copy b { font-size: 11px; }
  .brand-copy small { font-size: 7px; }
  .cart-button { width: 37px; height: 37px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 11px; }
  .section-heading h2 { font-size: 30px; }
  .food-grid { grid-template-columns: 1fr 1fr; }
  .food-image, .compact .food-image { height: 144px; }
  .food-content { padding: 11px; }
  .food-card h3 { margin-top: 8px; font-size: 13px; }
  .food-card p { display: none; }
  .card-bottom { margin-top: 13px; }
  .card-bottom > strong { font-size: 14px; }
  .round-add { width: 30px; height: 30px; }
  .story-copy h2 { font-size: 29px; }
  .cart-item { grid-template-columns: 82px 1fr; gap: 11px; padding: 9px; }
  .cart-item > img { width: 82px; height: 91px; }
  .cart-title h3 { font-size: 13px; }
  .cart-title p, .cart-title small { font-size: 10px; }
  .track-card form { grid-template-columns: 1fr; }
  .success-actions { flex-direction: column; }
  .about-layout { grid-template-columns: 1fr; margin-bottom: 62px; }
  .about-photo, .about-photo img { min-height: 340px; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-card { min-height: 175px; }
  .contact-note { align-items: flex-start; padding: 24px; }
  .status-line > div { width: 16.666%; font-size: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media (max-width: 850px) {
  .custom-craving-banner { align-items: flex-start; margin-top: 18px; }
  .footer-compact { grid-template-columns: 1fr 1fr; gap: 17px 12px; }
  .footer-promise { grid-column: 1 / -1; grid-row: 2; }
  .footer-contact { grid-column: 1 / -1; grid-row: 3; flex-wrap: wrap; gap: 8px 13px; }
  .footer-links { justify-content: flex-end; }
  .compact-footer .footer-bottom { margin-top: 14px; }
  .custom-order-card { grid-template-columns: 1fr; }
  .custom-order-copy { padding: 33px 27px; }
}

@media (max-width: 480px) {
  .segmented .diet-filter { padding: 0 12px; }
  .custom-craving-banner { gap: 10px; padding: 13px; }
  .custom-craving-banner b { font-size: 11px; }
  .custom-craving-banner > strong { font-size: 0; }
  .custom-craving-banner > strong svg { width: 20px; height: 20px; }
  .footer-compact { grid-template-columns: 1fr auto; }
  .footer-promise { font-size: 11px; }
  .footer-contact { display: grid; gap: 7px; }
  .compact-footer .footer-bottom { font-size: 9px; }
  .custom-order-form { padding: 27px 20px; }
  .custom-order-copy h1 { font-size: 38px; }
}

/* Storefront conversion polish: stronger first-screen proof, live menu states,
   and a more useful homepage catalogue preview. */
.hero { background: radial-gradient(circle at 76% 40%, rgba(255,255,255,.34), transparent 32%), #f6ece1; }
.hero-copy { position: relative; z-index: 2; }
.hero-lead { max-width: 530px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 0; margin-top: 30px; padding-top: 19px; border-top: 1px solid rgba(162,112,76,.24); }
.hero-trust span { display: grid; gap: 3px; min-width: 118px; padding-right: 18px; margin-right: 18px; border-right: 1px solid rgba(162,112,76,.24); }
.hero-trust span:last-child { padding-right: 0; margin-right: 0; border-right: 0; }
.hero-trust b { color: #4b2a1b; font-size: 12px; }
.hero-trust small { color: #8b6c59; font-size: 10px; }
.price-from { margin-right: 4px; color: #9c806f; font-size: 10px; font-weight: 700; }
.round-add { width: auto; min-width: 34px; gap: 4px; padding: 0 11px; border-radius: 999px; }
.add-label { font-size: 11px; font-weight: 800; }
.home-menu-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 13px 16px; border: 1px solid #eadbcc; border-radius: 12px; background: #fffaf4; }
.home-menu-summary > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.home-menu-summary b, .home-menu-summary small { display: block; }
.home-menu-summary b { color: #51301d; font-size: 12px; }
.home-menu-summary small { margin-top: 3px; color: #987c68; font-size: 10px; }
.home-menu-live-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #2ca254; box-shadow: 0 0 0 4px #dcf2df; }
.home-menu-note { display: inline-flex; align-items: center; gap: 5px; color: #8b6f5c; font-size: 10px; font-weight: 700; }
.home-menu-note svg { color: #af6a32; }
.home-menu-summary + .food-grid { margin-bottom: 22px; }
.home-category-rail { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.home-category-pill { display: grid; grid-template-columns: 1fr auto; gap: 4px 6px; align-items: center; padding: 12px 13px; border: 1px solid #ebdfd4; border-radius: 10px; color: #583923; background: #fff; transition: .2s ease; }
.home-category-pill:hover { border-color: #d89968; background: #fff7ed; transform: translateY(-2px); }
.home-category-pill span { overflow: hidden; font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.home-category-pill small { grid-column: 1; color: #a1836e; font-size: 9px; }
.home-category-pill svg { grid-column: 2; grid-row: 1 / span 2; color: #b9612e; }
.home-menu-empty { display: flex; align-items: center; gap: 16px; padding: 23px; border: 1px dashed #d9c3ad; border-radius: 14px; color: #765b49; background: #fffaf4; }
.home-menu-empty > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; color: #b45d2d; background: #f6dfc6; font-size: 22px; }
.home-menu-empty b, .home-menu-empty p { display: block; margin: 0; }
.home-menu-empty b { color: #4f2f1d; font-size: 13px; }
.home-menu-empty p { margin-top: 4px; color: #927664; font-size: 11px; line-height: 1.45; }
.home-menu-empty .text-link { margin-left: auto; }
.menu-preview-note { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; padding: 8px 11px; border: 1px solid #ead4bb; border-radius: 999px; color: #8a5d39; background: #fff7ec; font-size: 10px; font-weight: 700; }
.menu-preview-note svg { color: #ba6b2f; }

@media (max-width: 850px) {
  .hero-trust span { min-width: 104px; }
  .home-category-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .hero-trust { gap: 12px 0; }
  .hero-trust span { min-width: 33.33%; padding-right: 10px; margin-right: 10px; }
  .hero-trust b { font-size: 10px; }
  .hero-trust small { font-size: 8px; }
  .home-menu-summary { align-items: flex-start; flex-direction: column; gap: 9px; }
  .home-menu-empty { align-items: flex-start; flex-wrap: wrap; }
  .home-menu-empty .text-link { width: 100%; margin-left: 56px; }
}

/* Final mobile guardrails. Kept at the end of the stylesheet so the legacy
   visual passes above cannot reintroduce a wide child or oversized headline. */
html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
#app { width: 100%; max-width: 100vw; overflow-x: clip; }
#app > * { max-width: 100%; min-width: 0; }
main { width: 100%; max-width: 100%; min-width: 0; overflow-x: clip; }
@media (max-width: 850px) {
  .site-header { width: 100%; max-width: 100vw; }
  .hero { width: 100%; max-width: 100%; min-width: 0; overflow: hidden; }
  .hero-copy, .hero-visual { width: 100%; max-width: 100%; min-width: 0; }
  .hero-copy { padding-right: 18px; padding-left: 18px; overflow-wrap: anywhere; }
  .hero h1 { max-width: 100%; font-size: clamp(2.35rem, 12vw, 3.55rem); }
  .hero-lead, .hero-note small { max-width: 100%; overflow-wrap: anywhere; }
  .hero-visual { overflow: hidden; }
  .hero-main-image { max-width: 100%; }
  .trust-strip, .section, .story-banner, .cta-band, .site-footer { width: 100%; max-width: 100%; min-width: 0; }
  .food-grid, .steps, .home-category-rail, .site-reviews-grid { min-width: 0; max-width: 100%; }
  .hero-campaign { width: 100%; max-width: 100%; min-width: 0; }
  .campaign-ad, .campaign-ad-main, .campaign-ad-copy { min-width: 0; max-width: 100%; }
  .campaign-ad h3, .campaign-ad p { overflow-wrap: anywhere; white-space: normal; }
}
@media (max-width: 480px) {
  .site-header { padding-right: 12px; padding-left: 12px; }
  .hero-copy { padding-right: 16px; padding-left: 16px; }
  .hero-visual { height: 292px; padding-right: 18px; padding-left: 18px; }
  .hero-main-image { width: calc(100% - 26px); height: 245px; }
  .section { padding-right: 16px; padding-left: 16px; }
  .site-feedback-form { width: 100%; max-width: 100%; }
}

/* Conversion polish: put a real menu signal inside the food visual and keep
   the next action available to thumb users on the two browsing routes. */
.hero-food-card { position: absolute; z-index: 3; right: clamp(18px, 4vw, 62px); bottom: 32px; display: grid; gap: 4px; width: min(220px, 42%); padding: 14px 15px; border: 1px solid rgba(255,255,255,.86); border-radius: 14px; color: #30231d; background: rgba(255,253,249,.94); box-shadow: 0 16px 32px rgba(68, 31, 15, .18); backdrop-filter: blur(10px); }
.hero-food-card .hero-food-kicker { color: var(--heritage-terra); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.hero-food-card b { font: 700 17px/1.08 "Playfair Display", Georgia, serif; }
.hero-food-card small { color: #806c61; font-size: 10px; line-height: 1.35; }
.hero-food-card a { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; color: var(--heritage-terra); font-size: 10px; font-weight: 900; }
.hero-food-card a svg { transition: transform .2s ease; }
.hero-food-card a:hover svg { transform: translateX(3px); }
.hero-trust { display: flex; gap: 0; max-width: 540px; margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(113, 77, 54, .16); }
.hero-trust span { display: grid; gap: 3px; min-width: 116px; padding-right: 18px; margin-right: 18px; border-right: 1px solid rgba(113, 77, 54, .16); }
.hero-trust span:last-child { padding-right: 0; margin-right: 0; border-right: 0; }
.hero-trust b { font-size: 12px; }
.hero-trust small { color: #857269; font-size: 10px; }
.mobile-order-bar { position: fixed; z-index: 25; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); left: 12px; display: none; align-items: center; justify-content: space-between; gap: 14px; min-height: 58px; padding: 9px 10px 9px 15px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; color: #fffaf4; background: rgba(34, 28, 24, .96); box-shadow: 0 17px 38px rgba(42, 25, 15, .28); backdrop-filter: blur(12px); }
.mobile-order-bar span { display: grid; gap: 2px; min-width: 0; }
.mobile-order-bar b { font-size: 12px; }
.mobile-order-bar small { overflow: hidden; color: #d8c9bd; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.mobile-order-bar a { display: inline-flex; min-height: 40px; flex: 0 0 auto; align-items: center; gap: 7px; padding: 0 13px; border-radius: 9px; color: #fff; background: var(--heritage-terra); font-size: 10px; font-weight: 900; letter-spacing: .04em; }
.mobile-order-bar a:hover { background: #a94427; }
:focus-visible { outline: 3px solid rgba(200, 86, 50, .5); outline-offset: 3px; }

/* Final fluid-layout contract. The public site must shrink with the device
   viewport; decorative artwork is allowed to crop inside its own section, but
   no public wrapper may create a second desktop-sized canvas. */
html { width: 100%; min-width: 0; overflow-x: clip; }
body { width: 100%; min-width: 0; overflow-x: clip; overscroll-behavior-x: none; }
#app, #app > *, main, main > *, section, article, header, footer { min-width: 0; }
#app { width: 100%; max-width: 100%; overflow-x: clip; }
main { width: 100%; max-width: 100%; overflow-x: clip; }
.site-header { width: 100%; max-width: 100%; min-width: 0; }
.brand { min-width: 0; max-width: 100%; }
.brand-copy { min-width: 0; overflow: hidden; }
.brand-copy b, .brand-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-actions { min-width: 0; }
.contact-page, .page-shell { width: 100%; max-width: 100%; min-width: 0; }
.contact-page > *, .page-shell > * { min-width: 0; max-width: 100%; }

/* Home-kitchen promise cards */
.ingredient-promise-section { background: #fffaf4; }
.promise-heading { align-items: end; }
.promise-heading .section-subtitle { max-width: 580px; }
.ingredient-promise-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; max-width: 1180px; margin: 34px auto 0; }
.ingredient-promise-grid article { min-width: 0; padding: 22px 18px 20px; border: 1px solid #ead9ca; border-radius: 16px; background: #fffdf9; box-shadow: 0 10px 26px rgba(77, 43, 22, .045); }
.promise-icon { display: grid; width: 35px; height: 35px; margin-bottom: 17px; place-items: center; border-radius: 50%; color: #fff8ef; background: var(--heritage-terra); font: 700 17px Georgia, serif; }
.ingredient-promise-grid h3 { margin: 0 0 8px; color: var(--heritage-ink); font-size: 15px; line-height: 1.2; }
.ingredient-promise-grid p { margin: 0; color: #79675b; font-size: 11px; line-height: 1.55; }
.promise-footnote { max-width: 760px; margin: 18px auto 0; color: #a18e80; font-size: 10px; line-height: 1.5; text-align: center; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: -10px 0 25px; }
.hero-proof span { display: grid; gap: 2px; padding-left: 9px; border-left: 2px solid #d7835f; }
.hero-proof b { color: var(--heritage-terra); font-size: 8px; letter-spacing: .1em; }
.hero-proof small { color: #806d60; font-size: 10px; }

/* Contact page refresh */
.premium-contact-page { padding: 0 20px 95px; background: linear-gradient(180deg, #f7ede1 0%, #fffaf4 42%, #fffdf9 100%); }
.contact-hero { display: grid; grid-template-columns: minmax(0, 1fr) 235px; align-items: center; gap: clamp(28px, 7vw, 100px); max-width: 1180px; margin: 0 auto; padding: 76px clamp(0px, 4vw, 45px) 60px; }
.contact-hero-copy h1 { max-width: 720px; margin-bottom: 18px; color: var(--heritage-ink); font-size: clamp(3rem, 6vw, 5.7rem); }
.contact-hero-copy > p:not(.eyebrow) { max-width: 570px; margin-bottom: 27px; color: #725f53; font-size: 16px; line-height: 1.65; }
.contact-hero-stamp { display: grid; width: 205px; height: 205px; place-content: center; justify-items: center; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; color: #fff8ee; background: radial-gradient(circle at 35% 25%, #d7794c, #a94325 72%); box-shadow: 0 22px 40px rgba(112, 48, 25, .19); text-align: center; transform: rotate(6deg); }
.contact-hero-stamp span { font: 700 12px/1 "DM Sans", sans-serif; letter-spacing: .18em; }
.contact-hero-stamp b { margin: 10px 0; font: 700 29px/.95 "Playfair Display", Georgia, serif; }
.contact-hero-stamp small { font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.contact-ways { max-width: 1180px; margin: 0 auto; }
.contact-card { display: flex; min-height: 245px; flex-direction: column; padding: 26px; border-color: #ead8c9; border-radius: 18px; box-shadow: 0 12px 28px rgba(73, 45, 25, .06); }
.contact-card > span { margin-bottom: 20px; }
.contact-card > p { margin-bottom: 8px; color: var(--heritage-terra); font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.contact-card h2 { margin-bottom: 9px; font-family: "Playfair Display", Georgia, serif; font-size: 25px; }
.contact-card small { color: #806d60; line-height: 1.55; }
.contact-card strong { display: inline-flex; align-items: center; gap: 5px; margin-top: auto; padding-top: 22px; color: var(--heritage-terra); font-size: 11px; }
.contact-card-primary { color: #fff8ef; border-color: transparent; background: linear-gradient(135deg, #a94325, #cb653d); }
.contact-card-primary > p, .contact-card-primary small { color: #ffe6d4; }
.contact-card-primary h2, .contact-card-primary strong { color: #fff8ef; }
.contact-card-primary > span { color: var(--heritage-terra); background: #ffdfbd; }
.contact-promise { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 42px; max-width: 980px; align-items: center; margin: 74px auto 0; padding: 40px; border: 1px solid #ead8c9; border-radius: 20px; background: #f4e6d7; }
.contact-promise h2 { max-width: 450px; margin-bottom: 14px; font-size: clamp(2rem, 4vw, 3.1rem); }
.contact-promise p:not(.eyebrow) { max-width: 520px; margin: 0; color: #745f51; font-size: 13px; line-height: 1.65; }
.contact-promise-list { display: grid; gap: 9px; }
.contact-promise-list span { display: grid; grid-template-columns: 30px 1fr; column-gap: 9px; padding: 13px 0; border-bottom: 1px solid rgba(160, 112, 76, .2); }
.contact-promise-list span:last-child { border-bottom: 0; }
.contact-promise-list b { grid-row: span 2; color: var(--heritage-terra); font-size: 10px; }
.contact-promise-list strong { color: var(--heritage-ink); font-size: 12px; }
.contact-promise-list small { margin-top: 3px; color: #8b7668; font-size: 10px; }
.premium-contact-page .contact-note { max-width: 980px; margin-top: 26px; border-radius: 18px; }

@media (max-width: 900px) {
  .site-header { display: flex; width: 100%; height: 70px !important; padding: 0 16px; }
  .brand { width: auto; min-width: 0; flex: 1 1 auto; gap: 7px; }
  .brand-mark { width: 35px; height: 35px; flex: 0 0 35px; font-size: 21px; }
  .brand-copy { flex: 0 1 auto; }
  .brand-copy b { font-size: 11px; }
  .brand-copy small { font-size: 7px; }
  .site-header .status-badge { max-width: 78px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .brand-location, .desktop-nav, .call-link { display: none; }
  .header-actions { display: flex; flex: 0 0 auto; gap: 5px; margin-left: 8px; }
  .cart-button { width: 37px; height: 37px; flex: 0 0 37px; }
  .mobile-toggle { display: grid; width: 35px; height: 35px; flex: 0 0 35px; place-items: center; }
  .mobile-menu { right: 0; left: 0; width: 100%; max-width: 100%; }
  .hero { display: flex; width: 100%; min-height: 0; flex-direction: column; }
  .hero-copy { order: 1; width: 100%; max-width: none; padding: 42px 20px 28px; }
  .hero h1 { max-width: 100%; font-size: clamp(2.6rem, 12vw, 3.7rem); line-height: .94; }
  .hero-lead { width: 100%; max-width: 100%; font-size: 15px; overflow-wrap: anywhere; }
  .hero-proof { gap: 8px 13px; margin-top: -7px; }
  .hero-proof b { font-size: 7px; }
  .hero-proof small { font-size: 9px; }
  .hero-visual { order: 2; width: 100%; height: 306px; min-height: 0; padding: 0 20px 24px; overflow: hidden; }
  .hero-circle { left: 3%; width: 94%; max-width: none; height: 264px; }
  .hero-main-image { width: calc(100% - 28px); max-width: none; height: 270px; }
  .hero-campaign, .campaign-ad, .campaign-ad-main, .campaign-ad-copy { min-width: 0; max-width: 100%; }
  .ingredient-promise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-hero { grid-template-columns: minmax(0, 1fr) 145px; gap: 18px; padding: 53px 0 40px; }
  .contact-hero-copy h1 { font-size: clamp(2.7rem, 10vw, 4.2rem); }
  .contact-hero-copy > p:not(.eyebrow) { font-size: 14px; }
  .contact-hero-stamp { width: 145px; height: 145px; }
  .contact-hero-stamp b { font-size: 21px; }
  .contact-promise { grid-template-columns: 1fr; gap: 27px; margin-top: 55px; padding: 26px 22px; }
}

@media (max-width: 560px) {
  .site-header { padding-right: 12px; padding-left: 12px; }
  .site-header .status-badge { max-width: 66px; padding-right: 5px; padding-left: 5px; font-size: 7px; }
  .hero-copy { padding: 38px 18px 25px; }
  .hero-visual { height: 295px; padding-right: 18px; padding-left: 18px; }
  .hero-main-image { width: calc(100% - 18px); height: 265px; }
  .hero-circle { height: 250px; }
  .ingredient-promise-grid { grid-template-columns: 1fr; margin-top: 24px; }
  .ingredient-promise-grid article { padding: 18px 16px; }
  .promise-heading .text-link { align-self: flex-start; }
  .contact-hero { grid-template-columns: 1fr; padding-top: 42px; }
  .contact-hero-stamp { width: 122px; height: 122px; justify-self: end; margin-top: -10px; }
  .contact-hero-stamp b { margin: 7px 0; font-size: 18px; }
  .contact-hero-stamp small { font-size: 7px; }
  .contact-hero-copy h1 { font-size: clamp(2.7rem, 14vw, 3.55rem); }
  .contact-hero-copy > p:not(.eyebrow) { font-size: 14px; }
  .contact-hero-copy .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .contact-hero-copy .hero-actions .btn { padding-right: 10px; padding-left: 10px; font-size: 11px; }
  .contact-card { min-height: 205px; padding: 21px; }
  .contact-promise { margin-top: 42px; }
  .premium-contact-page .contact-note { align-items: flex-start; flex-direction: column; padding: 24px; }
  .premium-contact-page .contact-note .btn { width: 100%; }
}

@media (max-width: 480px) {
  .round-add { min-width: 30px; padding: 0 8px; }
  .add-label { display: none; }
}

/* Order confidence: the customer can see what happens before the kitchen accepts a request. */
.availability-chip { display: inline-flex; align-items: center; gap: 5px; max-width: 205px; padding: 7px 9px; border: 1px solid #ead6c7; border-radius: 99px; color: #816a5d; background: #fff8f1; font-size: 9px; font-weight: 700; line-height: 1.25; }
.availability-chip svg { flex: 0 0 auto; color: var(--red); }
.coverage-note { display: flex; align-items: flex-start; gap: 7px; margin: -7px 0 20px; padding: 11px 12px; border: 1px solid #eadccc; border-radius: 7px; color: #796b62; background: #fffaf5; font-size: 11px; line-height: 1.5; }
.coverage-note svg { flex: 0 0 auto; margin-top: 1px; color: var(--red); }
.checkout-reassurance { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 12px; color: #766860; font-size: 10px; font-weight: 700; line-height: 1.45; }
.checkout-reassurance span, .checkout-reassurance a { display: inline-flex; align-items: center; gap: 5px; }
.checkout-reassurance svg { color: var(--red); }
.checkout-reassurance a { color: var(--red); }
.order-logic-summary { display: grid; gap: 7px; margin: 20px 0 4px; padding: 13px; border-radius: 7px; color: #655a53; background: #f8efe7; font-size: 11px; font-weight: 700; line-height: 1.45; text-align: left; }
.order-logic-summary span { display: flex; align-items: center; gap: 7px; }
.order-logic-summary svg { flex: 0 0 auto; color: var(--red); }

@media (max-width: 1100px) and (min-width: 851px) {
  .availability-chip { display: none; }
}

@media (max-width: 850px) {
  .availability-chip { display: none; }
  .checkout-reassurance { display: grid; grid-template-columns: 1fr; }
}

/* Unified owner billing workspace */
.owner-workspace { display: grid; min-height: 100vh; grid-template-columns: 250px minmax(0, 1fr); color: #292523; background: #f6f7f8; font-family: "DM Sans", Arial, sans-serif; }
.owner-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 24px 15px 17px; color: #c9cdce; background: #1e262d; }
.owner-brand { display: flex; align-items: center; gap: 10px; padding: 0 7px; color: white; }
.owner-brand .brand-mark { width: 37px; height: 37px; background: #c74d29; font-size: 22px; }
.owner-brand > span:last-child { display: flex; flex-direction: column; gap: 3px; font-size: 11px; letter-spacing: .07em; }
.owner-brand small { color: #9ba7ab; font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.owner-mode { margin: 19px 8px 18px; padding: 8px; border: 1px solid #3c4950; border-radius: 5px; color: #aeb9bc; background: #273239; font-size: 9px; line-height: 1.5; }
.owner-desktop-nav { display: grid; gap: 2px; overflow-y: auto; }
.owner-desktop-nav a { padding: 9px 10px; border-radius: 5px; color: #bac1c3; font-size: 12px; font-weight: 700; }
.owner-desktop-nav a:hover, .owner-desktop-nav a.selected { color: white; background: #334149; }
.owner-desktop-nav a.selected { box-shadow: inset 3px 0 #d46741; }
.owner-mobile-nav { display: none; }
.owner-sidebar-footer { display: grid; gap: 10px; margin-top: auto; padding: 16px 8px 0; border-top: 1px solid #344047; }
.owner-sidebar-footer > a { color: #ffb598; font-size: 11px; font-weight: 800; }
.owner-sidebar-footer > span { color: #89959a; font-size: 9px; line-height: 1.5; }
.owner-content { width: min(100%, 1390px); padding: 42px clamp(24px, 4vw, 62px) 68px; }
.owner-topbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.owner-topbar .eyebrow { margin-bottom: 8px; color: #b84a29; }
.owner-topbar h1 { margin-bottom: 7px; font-family: "DM Sans", Arial, sans-serif; font-size: clamp(28px, 3vw, 38px); font-weight: 800; letter-spacing: -.045em; }
.owner-topbar p:not(.eyebrow) { margin: 0; color: #717979; font-size: 13px; line-height: 1.55; }
.owner-warning { margin: 27px 0; padding: 11px 13px; border: 1px solid #f0d5b7; border-radius: 6px; color: #8a613b; background: #fff8ed; font-size: 11px; line-height: 1.55; }
.owner-warning b { color: #a34726; }
.owner-stats { display: grid; gap: 13px; margin-bottom: 20px; }
.owner-stats.six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.owner-stats.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.owner-stats article { min-height: 120px; padding: 17px; border: 1px solid #e3e6e6; border-radius: 9px; background: white; box-shadow: 0 3px 11px rgba(31,45,48,.035); }
.owner-stats small, .owner-stats span { display: block; color: #778183; font-size: 10px; }
.owner-stats strong { display: block; margin: 11px 0 7px; color: #263137; font-size: 22px; letter-spacing: -.045em; }
.owner-panel { padding: 21px; border: 1px solid #e1e5e5; border-radius: 9px; background: white; box-shadow: 0 3px 12px rgba(31,45,48,.035); }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.panel-heading h2, .owner-panel > h2 { margin: 0 0 4px; font-family: "DM Sans", Arial, sans-serif; font-size: 17px; font-weight: 800; letter-spacing: -.03em; }
.panel-heading p { margin: 0; color: #7b8586; font-size: 11px; }
.owner-primary-action { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; gap: 6px; padding: 0 12px; border: 0; border-radius: 5px; color: white; background: #bd4b29; font-size: 11px; font-weight: 800; white-space: nowrap; }
.owner-primary-action:hover { background: #9f3e22; }
.owner-text-button { padding: 5px; border: 0; color: #a94429; background: transparent; font-size: 11px; font-weight: 800; }
.queue-grid { display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; border: 1px solid #e8eaea; border-radius: 6px; }
.queue-grid span { display: grid; gap: 4px; padding: 14px; border-right: 1px solid #e8eaea; color: #7b8385; font-size: 10px; text-align: center; }
.queue-grid span:last-child { border: 0; }
.queue-grid b { color: #2c373c; font-size: 21px; }
.owner-split { display: grid; grid-template-columns: 1.2fr .8fr; gap: 19px; margin-top: 19px; }
.recent-bill { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid #edf0f0; font-size: 11px; }
.recent-bill:first-of-type { border-top: 0; }
.recent-bill span b, .recent-bill span small { display: block; }
.recent-bill span small { margin-top: 3px; color: #7b8585; font-size: 10px; }
.recent-bill > b { font-size: 12px; }
.recent-bill em, .source-badge { padding: 4px 6px; border-radius: 99px; font-size: 8px; font-style: normal; font-weight: 800; letter-spacing: .04em; }
.payment-paid { color: #26724c; background: #e6f4eb; }
.payment-unpaid, .payment-pending { color: #a65728; background: #fff1e6; }
.quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.quick-actions a { padding: 10px; border: 1px solid #e3e7e7; border-radius: 5px; color: #4d595c; font-size: 11px; font-weight: 800; }
.quick-actions a:hover { color: #b54427; border-color: #e0b8a9; background: #fff9f6; }
.owner-table-panel { padding: 0; overflow: hidden; }
.owner-table-panel > .panel-heading { padding: 20px 21px 0; }
.owner-table { min-width: 870px; }
.owner-table-head, .owner-table-row { display: grid; grid-template-columns: 1fr 1.05fr 1.35fr .8fr .8fr 1.2fr; gap: 13px; align-items: center; padding: 12px 21px; }
.owner-table-head { border-top: 1px solid #e7ebeb; border-bottom: 1px solid #e7ebeb; color: #879091; background: #f8fafa; font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.owner-table-row { border-bottom: 1px solid #edf0f0; color: #4d5759; font-size: 11px; line-height: 1.4; }
.owner-table-row:last-child { border-bottom: 0; }
.owner-table-row b, .owner-table-row small { display: block; }
.owner-table-row small { margin-top: 2px; color: #828b8c; font-size: 9px; }
.source-badge { display: inline-block; color: #49616b; background: #eaf0f2; }
.owner-table select { width: 100%; padding: 7px 5px; border: 1px solid #dce2e2; border-radius: 4px; color: #465256; background: white; font-size: 9px; font-weight: 700; }
.owner-order-cards, .owner-customer-cards { display: none; }
.owner-bill-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(330px, .7fr); gap: 19px; }
.owner-product-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.owner-product-picker button { display: flex; min-width: 0; align-items: center; gap: 10px; padding: 8px; border: 1px solid #e1e5e5; border-radius: 6px; color: #374347; background: white; text-align: left; }
.owner-product-picker button:hover:not(:disabled) { border-color: #da9e88; background: #fff9f6; }
.owner-product-picker button:disabled { opacity: .45; cursor: not-allowed; }
.owner-product-picker img { width: 43px; height: 43px; flex: 0 0 auto; border-radius: 5px; object-fit: cover; }
.owner-product-picker span { display: grid; min-width: 0; gap: 3px; }
.owner-product-picker .food-pill { font-size: 8px; }
.owner-product-picker .food-pill i { width: 8px; height: 8px; }
.owner-product-picker .food-pill i::after { width: 3px; height: 3px; }
.owner-product-picker b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.owner-product-picker small { color: #6f7a7c; font-size: 10px; }
.owner-product-picker i { display: grid; width: 21px; height: 21px; margin-left: auto; place-items: center; border-radius: 50%; color: white; background: #bd4b29; font-size: 17px; font-style: normal; }
.owner-cart-builder { min-height: 300px; }
.owner-cart-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 11px; padding: 11px 0; border-top: 1px solid #edf0f0; }
.owner-cart-row span b, .owner-cart-row span small { display: block; }
.owner-cart-row span b { font-size: 11px; }
.owner-cart-row span small { margin-top: 3px; color: #7d8788; font-size: 9px; }
.owner-cart-row > strong { font-size: 11px; }
.owner-quantity { display: inline-flex; align-items: center; gap: 7px; }
.owner-quantity button { display: grid; width: 21px; height: 21px; place-items: center; border: 1px solid #dde3e3; border-radius: 4px; color: #ac4327; background: #fff9f6; }
.owner-quantity b { min-width: 13px; font-size: 10px; text-align: center; }
.owner-bill-total { display: grid; gap: 8px; margin-top: 13px; padding-top: 13px; border-top: 1px solid #e1e6e6; color: #647072; font-size: 11px; }
.owner-bill-total span, .owner-bill-total strong { display: flex; justify-content: space-between; }
.owner-bill-total strong { margin-top: 4px; padding-top: 10px; border-top: 1px solid #e1e6e6; color: #293438; font-size: 14px; }
.manual-checkout { margin-top: 19px; }
.admin-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.admin-form-grid label { color: #536064; font-size: 10px; }
.admin-form-grid input, .admin-form-grid select { margin-top: 5px; padding: 10px; border-color: #dce2e2; background: #fff; font-size: 11px; }
.admin-form-grid .owner-primary-action { width: max-content; margin-top: 4px; }
.owner-empty { display: grid; min-height: 160px; place-items: center; color: #7d8889; font-size: 12px; text-align: center; }
.owner-products-list { display: grid; gap: 8px; }
.owner-products-list article { display: grid; grid-template-columns: 48px minmax(0, 1fr) 150px 100px; align-items: center; gap: 13px; padding: 9px; border: 1px solid #e4e8e8; border-radius: 6px; }
.owner-products-list img { width: 48px; height: 48px; border-radius: 5px; object-fit: cover; }
.owner-products-list span { display: grid; gap: 4px; }
.owner-products-list .food-pill { font-size: 8px; }
.owner-products-list .food-pill i { width: 8px; height: 8px; }
.owner-products-list .food-pill i::after { width: 3px; height: 3px; }
.owner-products-list b { font-size: 11px; }
.owner-products-list small { color: #7d8889; font-size: 9px; }
.admin-price-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 5px; }
.admin-price-form label { color: #798486; font-size: 9px; }
.admin-price-form input { margin-top: 3px; padding: 7px; border: 1px solid #dce2e2; border-radius: 4px; font-size: 10px; }
.admin-price-form button { min-height: 31px; padding: 0 8px; border: 0; border-radius: 4px; color: #a64227; background: #fff0e9; font-size: 9px; font-weight: 800; }
.availability-toggle { min-height: 32px; padding: 0 7px; border: 0; border-radius: 4px; font-size: 9px; font-weight: 800; }
.availability-toggle.on { color: #237047; background: #e7f4eb; }
.availability-toggle.off { color: #a1452d; background: #fff0eb; }
.owner-table-head.customers, .owner-table-row.customers { grid-template-columns: 1.4fr .6fr .9fr .75fr .9fr .9fr; }
.expenses { grid-template-columns: .9fr 1.1fr; }
.report-tabs { display: flex; width: max-content; margin-bottom: 15px; padding: 3px; border-radius: 5px; background: #e9eeee; }
.report-tabs button { padding: 7px 11px; border: 0; border-radius: 4px; color: #667174; background: transparent; font-size: 10px; font-weight: 800; }
.report-tabs button.selected { color: #2b373a; background: white; box-shadow: 0 1px 4px rgba(30,38,43,.09); }
.report-summary { display: grid; gap: 11px; }
.report-summary span { display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid #edf0f0; color: #6e797a; font-size: 11px; }
.report-summary b { color: #2c383b; }
.generic-owner-panel { min-height: 240px; }
.generic-owner-panel > p { max-width: 620px; margin: 10px 0 20px; color: #6f7a7c; font-size: 12px; line-height: 1.65; }
.food-card.unavailable { opacity: .72; }
.food-card button:disabled { cursor: not-allowed; }
.out-of-stock { position: absolute; right: 11px; bottom: 11px; padding: 6px 8px; border-radius: 4px; color: #9c402b; background: #fff0eb; font-size: 9px; }

@media (max-width: 1180px) {
  .owner-stats.six { grid-template-columns: repeat(3, 1fr); }
  .owner-bill-grid { grid-template-columns: 1fr; }
}
@media (max-width: 850px) {
  .owner-workspace { display: block; }
  .owner-sidebar { position: static; height: auto; padding: 14px 16px 15px; }
  .owner-mode, .owner-desktop-nav, .owner-sidebar-footer { display: none; }
  .owner-mobile-nav { display: block; margin-top: 14px; }
  .owner-mobile-nav label { display: grid; width: 100%; gap: 4px; min-width: 0; color: #aeb9bc; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .owner-mobile-nav select { width: 100%; min-width: 0; max-width: 100%; min-height: 37px; padding: 0 31px 0 10px; border: 1px solid #46545c; border-radius: 6px; color: #fff; background: #29353c; font: inherit; font-size: 12px; font-weight: 800; letter-spacing: 0; text-transform: none; }
  .owner-mobile-nav a { display: inline-flex; min-height: 30px; align-items: center; margin-top: 8px; padding: 0 2px; color: #ffb598; font-size: 11px; font-weight: 800; }
  .owner-content { padding: 28px 17px 50px; }
  .owner-topbar { align-items: flex-start; flex-direction: column; }
  .owner-split { grid-template-columns: 1fr; }
  .owner-table-panel { overflow-x: auto; }
  .owner-table.owner-orders-desktop, .owner-table.owner-customers-desktop { display: none; }
  .owner-order-cards, .owner-customer-cards { display: grid; gap: 10px; padding: 0 12px 12px; }
  .owner-order-card, .owner-customer-card { padding: 14px; border: 1px solid #e4e8e8; border-radius: 7px; color: #495557; background: #fbfcfc; }
  .owner-card-heading, .owner-card-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
  .owner-card-heading b, .owner-card-customer b, .owner-customer-card b { display: block; color: #29363a; font-size: 12px; }
  .owner-card-heading small, .owner-card-customer span, .owner-customer-card small { display: block; margin-top: 3px; color: #7b8586; font-size: 10px; }
  .owner-order-card > p { margin: 11px 0; color: #687476; font-size: 11px; line-height: 1.5; }
  .owner-card-footer > span { display: grid; gap: 3px; }
  .owner-card-footer > span small { color: #7b8586; font-size: 9px; font-weight: 800; letter-spacing: .06em; }
  .owner-card-footer > span b { color: #263137; font-size: 15px; }
  .owner-card-footer label { display: grid; gap: 3px; color: #7b8586; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
  .owner-card-footer select { min-width: 142px; padding: 7px; border: 1px solid #dce2e2; border-radius: 4px; color: #465256; background: white; font-size: 10px; font-weight: 700; }
  .owner-customer-card > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
  .owner-customer-card dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 12px 0; }
  .owner-customer-card dl div { padding: 8px; border-radius: 5px; background: white; }
  .owner-customer-card dt { color: #7b8586; font-size: 9px; }
  .owner-customer-card dd { margin: 3px 0 0; color: #263137; font-size: 12px; font-weight: 800; }
  .owner-stats.six, .owner-stats.four { grid-template-columns: repeat(2, 1fr); }
  .queue-grid { grid-template-columns: repeat(3, 1fr); }
  .queue-grid span:nth-child(3) { border-right: 0; }
  .queue-grid span:nth-child(n+4) { border-top: 1px solid #e8eaea; }
  .owner-product-picker { grid-template-columns: 1fr; }
  .owner-products-list article { grid-template-columns: 43px minmax(0, 1fr) auto; }
  .owner-products-list .admin-price-form { grid-column: 2 / -1; }
  .availability-toggle { grid-column: 3; grid-row: 1; }
}
@media (max-width: 480px) {
  .owner-content { padding-right: 12px; padding-left: 12px; }
  .owner-panel { padding: 16px; }
  .owner-stats article { min-height: 103px; padding: 13px; }
  .owner-stats strong { font-size: 19px; }
  .queue-grid { grid-template-columns: repeat(2, 1fr); }
  .queue-grid span:nth-child(2) { border-right: 0; }
  .queue-grid span:nth-child(3) { border-top: 1px solid #e8eaea; border-right: 1px solid #e8eaea; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-form-grid .full-field { grid-column: auto; }
  .owner-topbar h1 { font-size: 28px; }
}

/* Admin command center v2 */
body:has(.adminv2-app) { background: #f5f7f8; }
.adminv2-table-panel { overflow-x: auto; }
.adminv2-app { --admin-ink: #202d32; --admin-muted: #718084; --admin-line: #e4e9e9; --admin-panel: #fff; --admin-bg: #f5f7f8; display: grid; min-height: 100vh; grid-template-columns: 246px minmax(0, 1fr); color: var(--admin-ink); background: var(--admin-bg); font-family: "DM Sans", Arial, sans-serif; }
.adminv2-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 23px 14px 17px; color: #bac5c8; background: #1d292f; }
.adminv2-brand { display: inline-flex; align-items: center; gap: 10px; padding: 0 8px; color: #fff; }
.adminv2-brand > span:last-child { display: flex; flex-direction: column; gap: 3px; line-height: 1; }
.adminv2-brand b { font-size: 12px; letter-spacing: .1em; }
.adminv2-brand small { color: #91a0a4; font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.adminv2-logo { position: relative; display: grid; width: 37px; height: 37px; place-items: center; border-radius: 12px 12px 12px 4px; color: #fff; background: #c7512b; font: 700 23px/1 "Playfair Display", serif; transform: rotate(-6deg); }
.adminv2-logo span { position: absolute; top: 2px; right: 3px; color: #ffc46f; font: 10px/1 Arial, sans-serif; transform: rotate(6deg); }
.adminv2-workspace { position: relative; display: grid; gap: 4px; margin: 22px 2px 17px; padding: 11px 11px 12px; border: 1px solid #39484e; border-radius: 8px; background: #26343a; }
.adminv2-workspace span { color: #7f9196; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.adminv2-workspace b { color: #fff; font-size: 11px; }
.adminv2-workspace i { position: absolute; top: 24px; right: 12px; color: #8c9a9e; font-size: 14px; font-style: normal; }
.adminv2-nav { display: grid; gap: 19px; overflow-y: auto; padding: 0 2px; }
.adminv2-nav-group { display: grid; gap: 3px; }
.adminv2-nav-label { padding: 0 10px 6px; color: #718389; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.adminv2-nav a { position: relative; display: flex; min-height: 37px; align-items: center; gap: 11px; padding: 0 10px; border-radius: 7px; color: #aebcbe; font-size: 12px; font-weight: 700; transition: color .2s ease, background .2s ease; }
.adminv2-nav a:hover { color: #fff; background: #2b3b42; }
.adminv2-nav a.selected { color: #fff; background: #32434a; box-shadow: inset 3px 0 #e16e45; }
.adminv2-nav-icon { display: grid; width: 18px; place-items: center; color: #809399; font-size: 17px; font-weight: 400; }
.adminv2-nav a.selected .adminv2-nav-icon { color: #f4a17f; }
.adminv2-nav a em { display: grid; width: 18px; height: 18px; margin-left: auto; place-items: center; border-radius: 50%; color: #fff; background: #d75a34; font-size: 10px; font-style: normal; }
.adminv2-sidebar-footer { display: grid; gap: 14px; margin-top: auto; padding: 17px 8px 0; border-top: 1px solid #34464d; }
.adminv2-user { display: flex; align-items: center; gap: 9px; }
.adminv2-user > span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; color: #86391f; background: #ffd5bc; font-size: 10px; font-weight: 900; }
.adminv2-user > div { display: grid; gap: 3px; }
.adminv2-user b { color: #fff; font-size: 11px; }
.adminv2-user small { color: #7f9196; font-size: 9px; }
.adminv2-user > i { margin-left: auto; color: #7f9196; font-size: 14px; font-style: normal; }
.adminv2-sidebar-footer > a { color: #f6a17e; font-size: 11px; font-weight: 800; }
.adminv2-main { min-width: 0; padding: 0 clamp(22px, 4.3vw, 65px) 72px; }
.adminv2-header { display: flex; min-height: 73px; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--admin-line); }
.adminv2-breadcrumb { display: flex; align-items: center; gap: 10px; color: #94a0a2; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.adminv2-breadcrumb b { color: #c5cccd; }
.adminv2-breadcrumb strong { color: #425054; }
.adminv2-head-actions { display: flex; align-items: center; gap: 14px; }
.adminv2-live { display: inline-flex; align-items: center; gap: 6px; color: #677679; font-size: 10px; font-weight: 800; }
.adminv2-live i { width: 7px; height: 7px; border-radius: 50%; background: #34a86c; box-shadow: 0 0 0 3px #dff3e9; }
.adminv2-ghost, .adminv2-text { color: #657477; font-size: 11px; font-weight: 800; }
.adminv2-ghost:hover, .adminv2-text:hover { color: #bd4b29; }
.adminv2-primary, .adminv2-secondary { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 6px; padding: 0 14px; border: 0; border-radius: 7px; font-size: 11px; font-weight: 800; cursor: pointer; }
.adminv2-primary { color: white; background: #c4512d; box-shadow: 0 7px 15px rgba(194,81,45,.16); }
.adminv2-primary:hover { color: white; background: #a84225; }
.adminv2-secondary { border: 1px solid #dbe3e3; color: #556467; background: white; }
.adminv2-secondary:hover { border-color: #c86a4b; color: #b44a2c; }
.adminv2-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 40px 0 25px; }
.adminv2-kicker, .adminv2-panel-head > div > span, .adminv2-panel-head > div > span:first-child { display: block; margin: 0 0 8px; color: #b44c2c; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.adminv2-heading h1 { margin: 0 0 8px; color: #233137; font: 800 clamp(29px, 3vw, 40px)/1.08 "DM Sans", Arial, sans-serif; letter-spacing: -.055em; }
.adminv2-heading p { max-width: 650px; margin: 0; color: var(--admin-muted); font-size: 13px; line-height: 1.55; }
.adminv2-notice { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; padding: 10px 13px; border: 1px solid #e8e3d7; border-radius: 8px; background: #fffaf0; }
.adminv2-notice > span { color: #d4822a; font-size: 13px; }
.adminv2-notice > div { display: flex; align-items: baseline; gap: 7px; min-width: 0; }
.adminv2-notice b { color: #8e632c; font-size: 10px; }
.adminv2-notice small { color: #987d5d; font-size: 10px; }
.adminv2-notice a { margin-left: auto; color: #a54b29; font-size: 10px; font-weight: 800; white-space: nowrap; }
.adminv2-welcome-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(240px, .7fr); gap: 16px; margin-bottom: 16px; }
.adminv2-welcome { display: flex; min-height: 227px; align-items: center; justify-content: space-between; gap: 25px; padding: 29px 31px; overflow: hidden; border-radius: 12px; color: #fff8f2; background: linear-gradient(125deg, #b64b2c, #ce7048); box-shadow: 0 13px 27px rgba(184,75,44,.18); }
.adminv2-welcome > div:first-child { position: relative; z-index: 1; max-width: 480px; }
.adminv2-eyebrow { display: block; margin-bottom: 10px; color: #ffd0b2; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.adminv2-welcome h2 { margin: 0 0 9px; color: #fff; font: 800 26px/1.12 "DM Sans", Arial, sans-serif; letter-spacing: -.04em; }
.adminv2-welcome p { max-width: 440px; margin: 0 0 21px; color: #ffe9db; font-size: 12px; line-height: 1.6; }
.adminv2-welcome > div:first-child > div { display: flex; align-items: center; gap: 18px; }
.adminv2-welcome .adminv2-primary { color: #a84a2b; background: #fff; box-shadow: none; }
.adminv2-welcome .adminv2-primary:hover { color: #a84a2b; background: #fff4ed; }
.adminv2-welcome .adminv2-text { color: #ffe1ce; }
.adminv2-orb { position: relative; display: grid; width: 152px; height: 152px; flex: 0 0 auto; align-content: center; justify-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(255,255,255,.1); box-shadow: 0 0 0 15px rgba(255,255,255,.035), 0 0 0 30px rgba(255,255,255,.025); text-align: center; }
.adminv2-orb > span { display: grid; width: 38px; height: 38px; margin-bottom: 8px; place-items: center; border-radius: 50%; color: #b94d2d; background: #ffd7b9; font-size: 20px; }
.adminv2-orb b { color: white; font-size: 14px; line-height: 1.15; }
.adminv2-orb small { margin-top: 6px; color: #ffd9c2; font-size: 9px; }
.adminv2-today { display: flex; min-height: 227px; flex-direction: column; padding: 22px 22px 20px; border: 1px solid var(--admin-line); border-radius: 12px; background: white; }
.adminv2-today > div { display: flex; align-items: center; justify-content: space-between; color: #7c898b; font-size: 10px; font-weight: 800; }
.adminv2-today > div i { color: #bc4c2c; font-style: normal; }
.adminv2-today > strong { margin-top: 33px; color: #27353a; font-size: 32px; letter-spacing: -.06em; }
.adminv2-today > small { margin-top: 4px; color: #899597; font-size: 10px; }
.adminv2-today > section { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; padding-top: 15px; border-top: 1px solid #edf0f0; }
.adminv2-today > section span { display: grid; gap: 4px; color: #899597; font-size: 9px; }
.adminv2-today > section b { color: #425054; font-size: 12px; }
.adminv2-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 17px; }
.adminv2-stat { min-height: 111px; padding: 16px 17px; border: 1px solid var(--admin-line); border-radius: 10px; background: white; }
.adminv2-stat > div { display: flex; align-items: center; justify-content: space-between; color: #778486; font-size: 10px; font-weight: 800; }
.adminv2-stat > div i { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 7px; font-style: normal; font-size: 11px; }
.adminv2-stat strong { display: block; margin: 10px 0 4px; color: #273439; font-size: 22px; letter-spacing: -.055em; }
.adminv2-stat small { color: #909b9c; font-size: 9px; }
.adminv2-stat.orange > div i { color: #b84c2b; background: #fff0e9; }
.adminv2-stat.blue > div i { color: #527ca3; background: #edf5fc; }
.adminv2-stat.purple > div i { color: #8968a6; background: #f3edfa; }
.adminv2-stat.green > div i { color: #3e8a62; background: #eaf6ee; }
.adminv2-panel { margin-bottom: 17px; padding: 21px; border: 1px solid var(--admin-line); border-radius: 10px; background: white; box-shadow: 0 3px 12px rgba(31,45,48,.025); }
.adminv2-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 18px; }
.adminv2-panel-head > div > span { margin-bottom: 6px; }
.adminv2-panel-head h2 { margin: 0 0 5px; color: #263439; font: 800 17px/1.2 "DM Sans", Arial, sans-serif; letter-spacing: -.04em; }
.adminv2-panel-head p { margin: 0; color: #849092; font-size: 10px; line-height: 1.5; }
.adminv2-queue { display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; border: 1px solid #e8eded; border-radius: 8px; }
.adminv2-queue a { display: grid; min-height: 104px; align-content: center; justify-items: center; gap: 5px; border-right: 1px solid #e8eded; color: #4f5c60; }
.adminv2-queue a:last-child { border-right: 0; }
.adminv2-queue a:hover { background: #fff8f4; }
.adminv2-queue a > span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; color: #b64c2d; background: #fff0e9; font-size: 14px; }
.adminv2-queue a:nth-child(2) > span { color: #61849a; background: #edf5f8; }
.adminv2-queue a:nth-child(3) > span { color: #8d69a4; background: #f4eff9; }
.adminv2-queue a:nth-child(4) > span { color: #3f8a61; background: #eaf6ee; }
.adminv2-queue a:nth-child(5) > span { color: #bd8537; background: #fff5e5; }
.adminv2-queue b { color: #28363a; font-size: 21px; }
.adminv2-queue small { color: #7e898b; font-size: 9px; font-weight: 700; text-align: center; }
.adminv2-dashboard-grid, .adminv2-report-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .75fr); gap: 17px; }
.adminv2-chart { display: flex; height: 210px; gap: 13px; padding-top: 10px; }
.adminv2-y { display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 21px; color: #9aa5a6; font-size: 8px; text-align: right; }
.adminv2-bars { position: relative; display: grid; flex: 1; grid-template-columns: repeat(7, 1fr); align-items: end; gap: 11px; padding: 0 4px 0 7px; background: repeating-linear-gradient(to bottom, transparent 0, transparent calc(33.333% - 1px), #edf1f1 calc(33.333% - 1px), #edf1f1 33.333%); }
.adminv2-bars > div { display: grid; height: 100%; align-items: end; justify-items: center; gap: 7px; }
.adminv2-bars > div > span { min-height: 12px; color: #b45131; font-size: 8px; font-weight: 800; white-space: nowrap; }
.adminv2-bars > div > i { display: block; width: min(25px, 80%); height: var(--height); min-height: 3px; border-radius: 5px 5px 2px 2px; background: #f0ded7; }
.adminv2-bars > div > i.has-value { background: linear-gradient(#d76d4b, #bb4a2a); box-shadow: 0 5px 12px rgba(192,75,41,.15); }
.adminv2-bars > div > small { color: #869294; font-size: 9px; }
.adminv2-alert-count { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: #b84c2b; background: #fff0e8; font-size: 10px; font-style: normal; }
.adminv2-attention { display: flex; width: 100%; align-items: center; gap: 9px; padding: 11px 0; border: 0; border-top: 1px solid #edf0f0; color: inherit; background: transparent; text-align: left; }
.adminv2-attention:first-of-type { border-top: 0; }
.adminv2-attention:hover b { color: #b84c2b; }
.adminv2-attention > i { display: grid; width: 25px; height: 25px; flex: 0 0 auto; place-items: center; border-radius: 7px; color: #c15a34; background: #fff0e9; font-size: 12px; font-style: normal; }
.adminv2-attention > span { display: grid; min-width: 0; gap: 4px; }
.adminv2-attention b, .adminv2-attention small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adminv2-attention b { color: #364346; font-size: 10px; }
.adminv2-attention small { color: #899496; font-size: 9px; }
.adminv2-attention > strong { margin-left: auto; color: #a6b0b1; font-size: 18px; font-weight: 400; }
.adminv2-empty-small { display: grid; min-height: 125px; place-items: center; color: #899597; font-size: 11px; text-align: center; }
.adminv2-activity { display: grid; }
.adminv2-activity > button { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; width: 100%; padding: 11px 0; border: 0; border-top: 1px solid #edf0f0; color: inherit; background: transparent; text-align: left; }
.adminv2-activity > button:first-child { border-top: 0; }
.adminv2-activity > button:hover b { color: #b84c2b; }
.adminv2-activity > button > i, .adminv2-modal-customer > i, .adminv2-customer-row > span:first-child > i, .adminv2-customer-cards article > div > i { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: #a84b2f; background: #fae5d9; font-size: 11px; font-style: normal; font-weight: 800; }
.adminv2-activity > button > span { display: grid; gap: 3px; }
.adminv2-activity b { color: #405053; font-size: 10px; }
.adminv2-activity small { color: #899596; font-size: 9px; }
.adminv2-activity > button > strong { color: #344145; font-size: 11px; }
.adminv2-chip { display: inline-flex; align-items: center; gap: 5px; width: max-content; padding: 5px 7px; border-radius: 99px; font-size: 8px; font-style: normal; font-weight: 800; white-space: nowrap; }
.adminv2-chip i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.adminv2-chip.status-awaiting-confirmation { color: #a85627; background: #fff0e5; }.adminv2-chip.status-confirmed { color: #527a95; background: #edf4f8; }.adminv2-chip.status-preparing { color: #8066a0; background: #f2edfa; }.adminv2-chip.status-ready { color: #3f875e; background: #eaf5ed; }.adminv2-chip.status-out-for-delivery { color: #9a7138; background: #fff5e5; }.adminv2-chip.status-delivered { color: #397d58; background: #e8f5eb; }.adminv2-chip.status-cancelled { color: #a5605a; background: #fbedeb; }
.adminv2-chip.payment-paid { color: #328058; background: #e8f5ec; }.adminv2-chip.payment-unpaid, .adminv2-chip.payment-pending, .adminv2-chip.payment-partially-paid { color: #a95b2a; background: #fff1e6; }.adminv2-chip.payment-failed, .adminv2-chip.payment-refunded { color: #a45a62; background: #fbedef; }
.adminv2-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
.adminv2-toolbar > label, .adminv2-search { display: flex; min-width: 260px; height: 39px; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid #dfe6e6; border-radius: 7px; color: #819092; background: #fff; font-size: 16px; }
.adminv2-toolbar input, .adminv2-search input { min-width: 0; flex: 1; margin: 0; padding: 0; border: 0; outline: 0; color: #314044; background: transparent; font-size: 11px; }
.adminv2-toolbar select { height: 39px; padding: 0 11px; border: 1px solid #dfe6e6; border-radius: 7px; color: #576568; background: #fff; font-size: 10px; font-weight: 700; }
.adminv2-toolbar > button { height: 39px; margin-left: auto; padding: 0 10px; border: 0; color: #9a5550; background: transparent; font-size: 10px; font-weight: 800; }
.adminv2-toolbar.single { margin-bottom: 4px; }.adminv2-toolbar.single > label { max-width: 380px; }
.adminv2-tabs, .adminv2-report-tabs { display: flex; gap: 4px; margin-bottom: 16px; overflow-x: auto; }
.adminv2-tabs button, .adminv2-report-tabs button { display: inline-flex; min-height: 31px; align-items: center; gap: 7px; padding: 0 10px; border: 0; border-radius: 6px; color: #788587; background: transparent; font-size: 10px; font-weight: 800; white-space: nowrap; }
.adminv2-tabs button:hover, .adminv2-report-tabs button:hover { color: #aa472b; background: #fff5f0; }
.adminv2-tabs button.selected, .adminv2-report-tabs button.selected { color: #a84629; background: #fff0e9; }.adminv2-tabs em { display: grid; min-width: 18px; height: 18px; padding: 0 4px; place-items: center; border-radius: 99px; color: #889496; background: #edf1f1; font-size: 8px; font-style: normal; }.adminv2-tabs .selected em { color: #ac482b; background: #fff; }
.adminv2-table-panel { padding: 0; overflow: hidden; }.adminv2-table-panel > .adminv2-panel-head { padding: 21px 21px 18px; margin: 0; }.adminv2-table { min-width: 830px; }.adminv2-table-head, .adminv2-table-row { display: grid; grid-template-columns: 1fr 1.12fr 1.45fr .8fr .72fr 1.15fr; gap: 13px; align-items: center; padding: 12px 21px; }.adminv2-table-head { border-top: 1px solid var(--admin-line); border-bottom: 1px solid var(--admin-line); color: #879294; background: #fafcfc; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }.adminv2-table-row { min-height: 63px; border-bottom: 1px solid #edf0f0; color: #4d5a5d; font-size: 10px; line-height: 1.35; }.adminv2-table-row:last-child { border-bottom: 0; }.adminv2-table-row > button { display: grid; gap: 4px; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; }.adminv2-table-row > button:hover b { color: #b4482b; }.adminv2-table-row b, .adminv2-table-row small { display: block; }.adminv2-table-row small { color: #8b9697; font-size: 9px; }.adminv2-table-row > span:nth-child(3) { overflow: hidden; color: #687578; text-overflow: ellipsis; white-space: nowrap; }.adminv2-table-row > span:nth-child(4) { display: grid; gap: 4px; }.adminv2-table-row > span:nth-child(4) b { color: #334144; font-size: 11px; }.adminv2-source { color: #5b7680; font-size: 8px; font-weight: 900; letter-spacing: .05em; }.adminv2-status { width: 100%; min-height: 30px; padding: 0 5px; border: 1px solid #dbe3e3; border-radius: 5px; color: #506063; background: white; font-size: 9px; font-weight: 800; }.adminv2-order-cards { display: none; }
.adminv2-empty-state { display: grid; min-height: 220px; place-items: center; align-content: center; gap: 6px; padding: 30px; text-align: center; }.adminv2-empty-state > span { display: grid; width: 42px; height: 42px; margin-bottom: 6px; place-items: center; border-radius: 12px; color: #bd5937; background: #fff0e8; font-size: 24px; }.adminv2-empty-state h3 { margin: 0; color: #425054; font-size: 14px; }.adminv2-empty-state p { margin: 0; color: #899596; font-size: 10px; }
.adminv2-bill-layout, .adminv2-product-layout, .adminv2-expense-layout, .adminv2-payment-layout, .adminv2-customize-grid, .adminv2-settings-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr); gap: 17px; align-items: start; }.adminv2-product-layout, .adminv2-customize-grid, .adminv2-settings-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }.adminv2-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }.adminv2-form-grid label { display: grid; gap: 5px; color: #607073; font-size: 10px; font-weight: 800; }.adminv2-form-grid label b { color: #bb4b2b; }.adminv2-form-grid input, .adminv2-form-grid textarea, .adminv2-form-grid select { width: 100%; min-height: 37px; margin: 0; padding: 0 10px; border: 1px solid #dfe6e6; border-radius: 6px; outline: 0; color: #37474b; background: #fff; font-size: 11px; }.adminv2-form-grid textarea { min-height: auto; padding: 10px; resize: vertical; }.adminv2-form-grid input:focus, .adminv2-form-grid textarea:focus, .adminv2-form-grid select:focus { border-color: #cb694b; box-shadow: 0 0 0 3px rgba(203,105,75,.1); }.adminv2-form-grid .full { grid-column: 1 / -1; }.adminv2-form-grid button { width: max-content; margin-top: 3px; }.adminv2-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 13px; border-top: 1px solid #edf0f0; color: #889496; font-size: 9px; }.adminv2-form-footer .adminv2-primary { width: auto; margin: 0; }
.adminv2-menu-products { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }.adminv2-menu-products button { display: flex; min-width: 0; align-items: center; gap: 8px; padding: 8px; border: 1px solid #e0e7e7; border-radius: 7px; color: #455255; background: white; text-align: left; }.adminv2-menu-products button:hover { border-color: #db9d88; background: #fff9f6; }.adminv2-menu-products img { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 5px; object-fit: cover; }.adminv2-menu-products button > span { display: grid; min-width: 0; gap: 4px; }.adminv2-menu-products b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }.adminv2-menu-products small { overflow: hidden; color: #829091; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }.adminv2-menu-products i { display: grid; width: 21px; height: 21px; margin-left: auto; place-items: center; border-radius: 50%; color: white; background: #c2522f; font-size: 17px; font-style: normal; }.adminv2-bill-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 9px; padding: 12px 0; border-top: 1px solid #edf0f0; }.adminv2-bill-item span { display: grid; gap: 4px; min-width: 0; }.adminv2-bill-item b { overflow: hidden; color: #445155; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }.adminv2-bill-item small { color: #8d999a; font-size: 9px; }.adminv2-bill-item > div { display: inline-flex; align-items: center; gap: 7px; }.adminv2-bill-item > div button { display: grid; width: 21px; height: 21px; place-items: center; border: 1px solid #dce4e4; border-radius: 4px; color: #b54c2c; background: #fff9f6; }.adminv2-bill-item > div b { min-width: 11px; text-align: center; }.adminv2-bill-item > strong { color: #354346; font-size: 10px; }.adminv2-empty-bill { display: grid; min-height: 180px; place-items: center; align-content: center; gap: 6px; color: #819092; text-align: center; }.adminv2-empty-bill span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px dashed #d7b3a4; border-radius: 50%; color: #bd5a3a; font-size: 23px; }.adminv2-empty-bill b { color: #526164; font-size: 12px; }.adminv2-empty-bill small { font-size: 9px; }.adminv2-bill-totals { display: grid; gap: 9px; margin-top: 13px; padding-top: 13px; border-top: 1px solid #e6ebeb; color: #738083; font-size: 10px; }.adminv2-bill-totals span, .adminv2-bill-totals strong { display: flex; justify-content: space-between; }.adminv2-bill-totals b { color: #354346; }.adminv2-bill-totals .discount { color: #348058; }.adminv2-bill-totals .discount b { color: #348058; }.adminv2-bill-totals strong { margin-top: 3px; padding-top: 11px; border-top: 1px solid #e6ebeb; color: #27353a; font-size: 14px; }.adminv2-bill-details { margin-top: 0; }.adminv2-complete { padding: 6px 8px; border-radius: 99px; color: #368157; background: #eaf6ed; font-size: 9px; font-style: normal; font-weight: 800; white-space: nowrap; }
.adminv2-stat-grid.compact { margin-bottom: 17px; }.adminv2-invoice-list { margin: 0 -21px -21px; }.adminv2-invoice-row { display: grid; grid-template-columns: 1.35fr 1.1fr .65fr .85fr auto; gap: 13px; align-items: center; min-height: 65px; padding: 10px 21px; border-top: 1px solid #edf0f0; color: #526063; font-size: 10px; }.adminv2-invoice-row > div:first-child { display: flex; align-items: center; gap: 9px; min-width: 0; }.adminv2-invoice-row > div:first-child > i { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; color: #b95131; background: #fff0e9; font-style: normal; }.adminv2-invoice-row span { display: grid; min-width: 0; gap: 4px; }.adminv2-invoice-row b { color: #3e4c50; font-size: 10px; }.adminv2-invoice-row small { color: #899596; font-size: 9px; }.adminv2-invoice-row > strong { color: #334144; font-size: 11px; }.adminv2-invoice-row > footer { display: flex; gap: 5px; }.adminv2-invoice-row > footer button { padding: 5px 6px; border: 0; border-radius: 4px; color: #a84a2c; background: #fff5ef; font-size: 9px; font-weight: 800; }.adminv2-invoice-row > footer button:hover { background: #fbe5db; }
.adminv2-products { display: grid; gap: 8px; margin-top: 13px; }.adminv2-products > article { display: grid; grid-template-columns: 43px minmax(0, 1fr) 145px 56px; align-items: center; gap: 11px; padding: 8px; border: 1px solid #e4e9e9; border-radius: 7px; }.adminv2-products > article.off { opacity: .65; }.adminv2-products img { width: 43px; height: 43px; border-radius: 5px; object-fit: cover; }.adminv2-products > article > div { display: grid; min-width: 0; gap: 4px; }.adminv2-products > article > div > div { display: flex; gap: 4px; }.adminv2-products > article > div b { overflow: hidden; color: #425054; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }.adminv2-products > article > div small { overflow: hidden; color: #849092; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }.adminv2-price-form { display: flex; align-items: flex-end; gap: 5px; }.adminv2-price-form label { display: grid; gap: 4px; color: #7d898b; font-size: 8px; font-weight: 800; }.adminv2-price-form input { width: 74px; height: 30px; margin: 0; padding: 0 7px; border: 1px solid #dfe6e6; border-radius: 4px; font-size: 10px; }.adminv2-price-form button { height: 30px; padding: 0 7px; border: 0; border-radius: 4px; color: #a8492b; background: #fff0e9; font-size: 9px; font-weight: 800; }.adminv2-availability { min-height: 29px; padding: 0 7px; border: 0; border-radius: 5px; font-size: 9px; font-weight: 800; }.adminv2-availability.on { color: #348057; background: #eaf6ee; }.adminv2-availability.off { color: #a65a4e; background: #fff0eb; }
.adminv2-customer-table { min-width: 720px; margin: 9px -21px -21px; }.adminv2-customer-row { display: grid; width: 100%; grid-template-columns: 1.5fr .6fr .95fr .85fr .85fr .8fr; gap: 13px; align-items: center; min-height: 67px; padding: 10px 21px; border: 0; border-top: 1px solid #edf0f0; color: #596669; background: white; font-size: 10px; text-align: left; }.adminv2-customer-row:hover { background: #fffaf7; }.adminv2-customer-row > span:first-child { display: flex; align-items: center; gap: 9px; }.adminv2-customer-row > span:first-child > b { display: grid; gap: 4px; color: #435154; font-size: 10px; }.adminv2-customer-row small { color: #8b9698; font-size: 9px; font-weight: 500; }.adminv2-customer-row .paid { color: #34815b; font-weight: 800; }.adminv2-customer-row .due { color: #af5e36; font-weight: 800; }.adminv2-customer-cards { display: none; }
.adminv2-expense-list, .adminv2-payment-list { display: grid; }.adminv2-expense-list > div, .adminv2-payment-list > div { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto auto; align-items: center; gap: 9px; padding: 11px 0; border-top: 1px solid #edf0f0; }.adminv2-expense-list > div:first-child, .adminv2-payment-list > div:first-child { border-top: 0; }.adminv2-expense-list > div > i, .adminv2-payment-list > div > i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 7px; color: #b95331; background: #fff0e9; font-size: 11px; font-style: normal; }.adminv2-expense-list > div > span, .adminv2-payment-list > div > span { display: grid; gap: 4px; min-width: 0; }.adminv2-expense-list b, .adminv2-payment-list b { overflow: hidden; color: #435154; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }.adminv2-expense-list small, .adminv2-payment-list small { overflow: hidden; color: #8b9698; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }.adminv2-expense-list strong, .adminv2-payment-list em { color: #354447; font-size: 11px; font-style: normal; }.adminv2-expense-list button { width: 21px; height: 21px; border: 0; border-radius: 4px; color: #a56661; background: transparent; font-size: 16px; }.adminv2-expense-list button:hover { color: #a33d32; background: #fff0ef; }.adminv2-payment-list em { padding: 4px 6px; border-radius: 99px; color: #367f59; background: #eaf6ed; font-size: 8px; font-weight: 800; }
.adminv2-report-tabs { width: max-content; padding: 3px; border-radius: 7px; background: #e9eeee; }.adminv2-report-tabs button.selected { color: #334245; background: white; box-shadow: 0 2px 5px rgba(30,38,43,.08); }.adminv2-performance { display: grid; }.adminv2-performance > div { display: grid; grid-template-columns: 26px minmax(135px, 1fr) minmax(100px, 1.1fr) auto; align-items: center; gap: 10px; min-height: 55px; border-top: 1px solid #edf0f0; }.adminv2-performance > div:first-child { border-top: 0; }.adminv2-performance > div > i { color: #a7b1b2; font-size: 9px; font-style: normal; font-weight: 900; }.adminv2-performance > div > span { display: grid; gap: 4px; min-width: 0; }.adminv2-performance b { overflow: hidden; color: #445255; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }.adminv2-performance small { color: #899596; font-size: 9px; }.adminv2-performance em { display: block; height: 6px; overflow: hidden; border-radius: 99px; background: #f1f3f3; }.adminv2-performance em u { display: block; width: var(--width); height: 100%; border-radius: inherit; background: #ca6545; text-decoration: none; }.adminv2-performance strong { color: #425053; font-size: 10px; }.adminv2-ring { display: grid; width: 146px; height: 146px; margin: 8px auto 18px; place-items: center; border-radius: 50%; background: conic-gradient(#3f9666 var(--paid), #edf2f1 0); }.adminv2-ring::before { position: absolute; width: 112px; height: 112px; border-radius: 50%; background: white; content: ""; }.adminv2-ring > div { position: relative; z-index: 1; display: grid; gap: 4px; text-align: center; }.adminv2-ring b { color: #314044; font-size: 24px; letter-spacing: -.05em; }.adminv2-ring small { color: #819092; font-size: 9px; }.adminv2-payment-summary { display: grid; gap: 10px; }.adminv2-payment-summary span { display: flex; align-items: center; gap: 6px; color: #728083; font-size: 10px; }.adminv2-payment-summary span i { width: 7px; height: 7px; border-radius: 50%; background: #3f9666; }.adminv2-payment-summary span:nth-child(2) i { background: #d68748; }.adminv2-payment-summary span:nth-child(3) i { background: #9b83ba; }.adminv2-payment-summary b { margin-left: auto; color: #3f4e51; }
.adminv2-whatsapp-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(290px, .9fr); gap: 17px; }.adminv2-whatsapp-grid textarea { width: 100%; min-height: 185px; margin: 0; padding: 13px; border: 1px solid #dfe6e6; border-radius: 7px; outline: 0; color: #445255; background: #fbfcfc; font-size: 12px; line-height: 1.6; resize: vertical; }.adminv2-whatsapp-grid textarea:focus { border-color: #ca6849; box-shadow: 0 0 0 3px rgba(202,104,73,.1); }.adminv2-whatsapp-grid form > footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; padding-top: 13px; border-top: 1px solid #edf0f0; color: #899596; font-size: 9px; }.adminv2-online { color: #36805a; font-size: 9px; font-style: normal; font-weight: 800; }.adminv2-phone { padding: 10px; border-radius: 12px; background: #e3eee9; }.adminv2-phone > header { display: grid; grid-template-columns: 18px 1fr; align-items: center; gap: 3px; padding: 4px 4px 10px; color: #4b6b61; font-size: 15px; }.adminv2-phone > header b { grid-column: 2; font-size: 10px; }.adminv2-phone > header small { grid-column: 2; color: #7a938b; font-size: 8px; }.adminv2-phone > div { position: relative; max-width: 90%; margin: 15px 0 5px auto; padding: 10px; border-radius: 8px 2px 8px 8px; color: #40554e; background: #d3f4c5; font-size: 11px; line-height: 1.55; white-space: pre-wrap; }.adminv2-phone > div > small { display: block; margin-top: 5px; color: #759487; font-size: 8px; text-align: right; }.adminv2-message-preview > .adminv2-secondary { width: 100%; margin-top: 11px; }.adminv2-compose { display: flex; min-height: 57px; align-items: center; gap: 10px; border-top: 1px solid #edf0f0; }.adminv2-compose > i { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; color: #a84b2e; background: #fae5d9; font-size: 10px; font-style: normal; font-weight: 800; }.adminv2-compose > span { display: grid; gap: 3px; min-width: 0; }.adminv2-compose b { color: #465457; font-size: 10px; }.adminv2-compose small { color: #899596; font-size: 9px; }.adminv2-compose button { margin-left: auto; padding: 7px 8px; border: 0; border-radius: 5px; color: #3d815c; background: #eaf6ed; font-size: 9px; font-weight: 800; white-space: nowrap; }
.adminv2-callout { display: grid; gap: 4px; margin-top: 18px; padding: 11px; border-radius: 7px; color: #825c3b; background: #fff8ec; }.adminv2-callout b { font-size: 10px; }.adminv2-callout small { font-size: 9px; line-height: 1.4; }.adminv2-surface { display: flex; align-items: center; gap: 10px; padding: 16px; border: 1px solid #edf0f0; border-radius: 8px; background: #fbfcfc; }.adminv2-surface > div { display: grid; gap: 4px; }.adminv2-surface b { color: #354447; font-size: 11px; }.adminv2-surface small { color: #879395; font-size: 9px; }.adminv2-surface em { margin-left: auto; padding: 5px 7px; border-radius: 99px; color: #3d825c; background: #eaf6ed; font-size: 8px; font-style: normal; font-weight: 800; }.adminv2-checklist { display: grid; gap: 13px; margin-bottom: 20px; }.adminv2-checklist span { color: #7b8889; font-size: 10px; }.adminv2-checklist span.done { color: #3e805b; }.adminv2-checklist span::first-letter { color: #bd552f; }
.adminv2-modal-layer { position: fixed; z-index: 80; inset: 0; display: flex; align-items: stretch; justify-content: flex-end; padding-left: 20px; background: rgba(22,32,35,.45); opacity: 0; transition: opacity .2s ease; }.adminv2-modal-layer.visible { opacity: 1; }.adminv2-modal { position: relative; width: min(100%, 500px); overflow: auto; padding: 28px; background: #fff; box-shadow: -20px 0 55px rgba(20,30,30,.16); transform: translateX(20px); transition: transform .25s ease; }.adminv2-modal-layer.visible .adminv2-modal { transform: translateX(0); }.adminv2-close { position: absolute; top: 17px; right: 17px; display: grid; width: 29px; height: 29px; place-items: center; border: 0; border-radius: 50%; color: #657477; background: #f2f5f5; font-size: 20px; }.adminv2-modal > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid #edf0f0; }.adminv2-modal > header > div > span, .adminv2-modal > section > span { display: block; margin-bottom: 7px; color: #b54d2f; font-size: 9px; font-weight: 900; letter-spacing: .13em; }.adminv2-modal h2 { margin: 0 0 6px; color: #27353a; font: 800 25px/1.1 "DM Sans", Arial, sans-serif; letter-spacing: -.05em; }.adminv2-modal header p { margin: 0; color: #899597; font-size: 10px; }.adminv2-modal-customer { display: flex; align-items: center; gap: 10px; padding: 20px 0; border-bottom: 1px solid #edf0f0; }.adminv2-modal-customer > i { width: 38px; height: 38px; font-size: 13px; }.adminv2-modal-customer > div { display: grid; gap: 4px; }.adminv2-modal-customer b { color: #3e4d50; font-size: 12px; }.adminv2-modal-customer small { color: #899597; font-size: 10px; }.adminv2-modal-customer a { margin-left: auto; color: #b44c2d; font-size: 10px; font-weight: 800; }.adminv2-modal > section { padding: 20px 0; border-bottom: 1px solid #edf0f0; }.adminv2-modal-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; }.adminv2-modal-item span { display: grid; gap: 4px; }.adminv2-modal-item b { color: #465558; font-size: 11px; }.adminv2-modal-item small { color: #899597; font-size: 9px; }.adminv2-modal-item strong { color: #3c4b4e; font-size: 11px; }.adminv2-modal-total { display: flex; justify-content: space-between; margin-top: 9px; padding-top: 13px; border-top: 1px solid #edf0f0; color: #364447; font-size: 12px; font-weight: 800; }.adminv2-modal-total b { font-size: 15px; }.adminv2-modal-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }.adminv2-modal-meta > span { display: grid; gap: 6px; }.adminv2-modal-meta small { color: #899597; font-size: 9px; }.adminv2-modal-meta > span:last-child { grid-column: 1 / -1; }.adminv2-modal-meta b { color: #475558; font-size: 10px; font-weight: 700; }.adminv2-modal > footer { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 20px; }.adminv2-modal > footer select { min-height: 38px; flex: 1 0 100%; padding: 0 9px; border: 1px solid #dfe6e6; border-radius: 6px; color: #556467; background: white; font-size: 10px; font-weight: 700; }.adminv2-modal > footer .adminv2-secondary, .adminv2-modal > footer .adminv2-primary { flex: 1; }.adminv2-modal.customer > header > i { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #a84b2f; background: #fae5d9; font-size: 15px; font-style: normal; font-weight: 800; }.adminv2-customer-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 18px 0; }.adminv2-customer-summary span { display: grid; gap: 5px; padding: 10px; border-radius: 6px; background: #f7f9f9; }.adminv2-customer-summary small { color: #879395; font-size: 8px; }.adminv2-customer-summary b { color: #354447; font-size: 11px; }.adminv2-history { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; border: 0; border-top: 1px solid #edf0f0; color: #435154; background: white; text-align: left; }.adminv2-history span { display: grid; gap: 4px; }.adminv2-history b { font-size: 10px; }.adminv2-history small { color: #899597; font-size: 9px; }.adminv2-history strong { margin-left: auto; font-size: 10px; }
#adminv2-print { display: none; }
@media print { body > * { display: none !important; } #adminv2-print { display: block !important; width: 100%; padding: 20px; color: #222; font-family: Arial, sans-serif; } #adminv2-print > header { display: flex; justify-content: space-between; padding-bottom: 20px; border-bottom: 2px solid #222; } #adminv2-print header > div { display: grid; gap: 5px; } #adminv2-print header b { font-size: 18px; } #adminv2-print header span { font-size: 11px; letter-spacing: .12em; } #adminv2-print header small, #adminv2-print > p { color: #666; font-size: 11px; } #adminv2-print > p { margin: 22px 0; line-height: 1.6; } #adminv2-print table { width: 100%; border-collapse: collapse; font-size: 12px; } #adminv2-print th, #adminv2-print td { padding: 9px 0; border-bottom: 1px solid #ddd; text-align: left; } #adminv2-print th { font-size: 10px; letter-spacing: .08em; } #adminv2-print td:nth-child(n+2), #adminv2-print th:nth-child(n+2) { text-align: right; } #adminv2-print > div:not(header) { display: grid; gap: 9px; max-width: 280px; margin: 22px 0 0 auto; font-size: 12px; } #adminv2-print > div:not(header) span, #adminv2-print > div:not(header) strong { display: flex; justify-content: space-between; } #adminv2-print > div:not(header) strong { padding-top: 11px; border-top: 2px solid #222; font-size: 15px; } #adminv2-print > footer { margin-top: 70px; color: #666; font-size: 11px; text-align: center; } }
@media (max-width: 1180px) { .adminv2-stat-grid { grid-template-columns: repeat(2, 1fr); }.adminv2-welcome-grid { grid-template-columns: 1fr; }.adminv2-today { min-height: 150px; }.adminv2-today > strong { margin-top: 20px; }.adminv2-today > section { margin-top: 17px; } }
@media (max-width: 850px) { .adminv2-app { display: block; }.adminv2-sidebar { position: static; height: auto; padding: 15px 16px; }.adminv2-sidebar > .adminv2-brand, .adminv2-sidebar > .adminv2-workspace, .adminv2-sidebar > .adminv2-sidebar-footer, .adminv2-sidebar > .adminv2-nav { display: none; }.adminv2-mobile-top { display: flex !important; align-items: center; justify-content: space-between; padding: 15px 16px; background: #1d292f; }.adminv2-mobile-top .adminv2-brand { padding: 0; }.adminv2-mobile-top .adminv2-logo { width: 34px; height: 34px; font-size: 21px; }.adminv2-mobile-add { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #516168; border-radius: 7px; color: #ffc2a7; font-size: 21px; }.adminv2-mobile-nav { display: block !important; }.adminv2-mobile-nav label { display: grid; gap: 5px; color: #8ea0a4; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.adminv2-mobile-nav select { width: 100%; min-height: 37px; padding: 0 10px; border: 1px solid #42545b; border-radius: 6px; color: white; background: #293a41; font-size: 12px; font-weight: 800; text-transform: none; }.adminv2-main { padding: 0 17px 50px; }.adminv2-header { min-height: 54px; }.adminv2-head-actions { gap: 8px; }.adminv2-live, .adminv2-ghost { display: none; }.adminv2-heading { padding: 29px 0 20px; }.adminv2-notice > div { display: grid; gap: 3px; }.adminv2-notice small { line-height: 1.35; }.adminv2-welcome { min-height: 210px; padding: 25px 21px; }.adminv2-orb { width: 115px; height: 115px; }.adminv2-orb > span { width: 31px; height: 31px; font-size: 15px; }.adminv2-orb b { font-size: 11px; }.adminv2-dashboard-grid, .adminv2-report-grid, .adminv2-bill-layout, .adminv2-product-layout, .adminv2-expense-layout, .adminv2-payment-layout, .adminv2-customize-grid, .adminv2-settings-grid, .adminv2-whatsapp-grid { grid-template-columns: 1fr; }.adminv2-table-panel { overflow-x: auto; }.adminv2-table { display: none; }.adminv2-order-cards { display: grid; gap: 10px; padding: 0 12px 12px; }.adminv2-order-card { padding: 14px; border: 1px solid #e4e9e9; border-radius: 8px; background: #fbfcfc; }.adminv2-order-card > div, .adminv2-order-card > footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }.adminv2-order-card > div:first-child > button { display: grid; gap: 4px; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; }.adminv2-order-card b { color: #3e4d50; font-size: 11px; }.adminv2-order-card small { color: #899596; font-size: 9px; }.adminv2-order-customer { display: flex; align-items: center; gap: 8px; margin-top: 14px; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; }.adminv2-order-customer > i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: #a84b2f; background: #fae5d9; font-size: 10px; font-style: normal; font-weight: 800; }.adminv2-order-customer > span { display: grid; gap: 3px; }.adminv2-order-card > p { margin: 12px 0; color: #6f7b7d; font-size: 10px; line-height: 1.5; }.adminv2-order-card > footer { align-items: center; padding-top: 11px; border-top: 1px solid #e7eded; }.adminv2-order-card > footer > strong { color: #354447; font-size: 14px; }.adminv2-order-card .adminv2-status { width: auto; max-width: 150px; }.adminv2-menu-products { grid-template-columns: 1fr; }.adminv2-products > article { grid-template-columns: 43px minmax(0, 1fr) auto; }.adminv2-price-form { grid-column: 2 / -1; }.adminv2-availability { grid-column: 3; grid-row: 1; }.adminv2-customer-table { display: none; }.adminv2-customer-cards { display: grid; gap: 10px; margin-top: 9px; }.adminv2-customer-cards article { padding: 14px; border: 1px solid #e4e9e9; border-radius: 8px; background: #fbfcfc; }.adminv2-customer-cards article > div { display: flex; align-items: center; gap: 8px; }.adminv2-customer-cards article > div > span { display: grid; gap: 3px; }.adminv2-customer-cards article b { color: #3e4d50; font-size: 11px; }.adminv2-customer-cards article small { color: #899596; font-size: 9px; }.adminv2-customer-cards article > section { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 13px 0; }.adminv2-customer-cards article > section span { display: grid; gap: 4px; padding: 8px; border-radius: 5px; background: white; }.adminv2-customer-cards article > section small { font-size: 8px; }.adminv2-customer-cards article > section b { font-size: 11px; }.adminv2-customer-cards article > button { padding: 0; border: 0; color: #b04a2c; background: transparent; font-size: 10px; font-weight: 800; }.adminv2-invoice-list { margin: 0 -21px -21px; }.adminv2-invoice-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px 16px; }.adminv2-invoice-row > span:nth-child(2) { grid-column: 1; }.adminv2-invoice-row > strong { grid-column: 2; grid-row: 1 / span 2; }.adminv2-invoice-row > .adminv2-chip { grid-column: 1; }.adminv2-invoice-row > footer { grid-column: 2; grid-row: 3; }.adminv2-form-grid { grid-template-columns: 1fr; }.adminv2-form-grid .full { grid-column: auto; }.adminv2-form-footer { align-items: flex-start; flex-direction: column; }.adminv2-form-footer .adminv2-primary { width: 100%; }.adminv2-modal-layer { align-items: flex-end; padding: 0; }.adminv2-modal { width: 100%; max-height: 90vh; padding: 24px 18px 30px; border-radius: 16px 16px 0 0; transform: translateY(20px); }.adminv2-modal-layer.visible .adminv2-modal { transform: translateY(0); } }
@media (min-width: 851px) { .adminv2-mobile-top, .adminv2-mobile-nav { display: none; } }
@media (max-width: 480px) { .adminv2-main { padding-right: 12px; padding-left: 12px; }.adminv2-heading h1 { font-size: 28px; }.adminv2-heading p { font-size: 11px; }.adminv2-head-actions .adminv2-primary { min-height: 32px; padding: 0 9px; font-size: 9px; }.adminv2-welcome { align-items: flex-start; }.adminv2-welcome > div:first-child > div { align-items: flex-start; flex-direction: column; gap: 12px; }.adminv2-orb { display: none; }.adminv2-stat-grid { gap: 8px; }.adminv2-stat { min-height: 100px; padding: 13px; }.adminv2-stat strong { font-size: 18px; }.adminv2-panel { padding: 16px; }.adminv2-panel-head h2 { font-size: 15px; }.adminv2-queue { grid-template-columns: repeat(2, 1fr); }.adminv2-queue a:nth-child(2) { border-right: 0; }.adminv2-queue a:nth-child(n+3) { border-top: 1px solid #e8eded; }.adminv2-queue a:nth-child(3) { border-right: 1px solid #e8eded; }.adminv2-toolbar { align-items: stretch; flex-direction: column; }.adminv2-toolbar > label, .adminv2-search { min-width: 0; width: 100%; }.adminv2-toolbar > button { margin-left: 0; text-align: left; }.adminv2-tabs button { padding: 0 8px; }.adminv2-chart { height: 180px; gap: 7px; }.adminv2-bars { gap: 5px; }.adminv2-bars > div > span { font-size: 7px; }.adminv2-bars > div > small { font-size: 8px; }.adminv2-performance > div { grid-template-columns: 20px minmax(0, 1fr) auto; gap: 7px; }.adminv2-performance > div > em { display: none; }.adminv2-phone > div { max-width: 100%; }.adminv2-customer-summary { gap: 5px; }.adminv2-customer-summary span { padding: 8px 6px; }.adminv2-customer-summary b { font-size: 10px; } }

/* Customer theme alignment and contained mobile navigation. */
.adminv2-app { --admin-ink: #27211e; --admin-muted: #756d67; --admin-line: #e9dfd5; --admin-panel: #fffdf9; --admin-bg: #f8f1e8; background: var(--admin-bg); }
.adminv2-sidebar { color: #ded3cb; background: #302925; }
.adminv2-brand b { letter-spacing: .115em; }.adminv2-brand small { color: #bcb0a7; letter-spacing: .17em; }.adminv2-logo { border-radius: 50% 50% 47% 50%; background: #b74422; transform: rotate(-8deg); }.adminv2-logo span { transform: rotate(8deg); }
.adminv2-workspace { border-color: #554840; background: #3a312d; }.adminv2-workspace span { color: #aa9d95; }.adminv2-nav-label { color: #958880; }.adminv2-nav a { color: #c6b9b1; }.adminv2-nav a:hover { background: #433832; }.adminv2-nav a.selected { background: #4a3b35; box-shadow: inset 3px 0 #d96d42; }.adminv2-nav-icon { color: #9e9087; }.adminv2-nav a.selected .adminv2-nav-icon { color: #f2a07c; }.adminv2-sidebar-footer { border-color: #4a3f39; }.adminv2-sidebar-footer > a { color: #ffb18e; }.adminv2-user > span { color: #8d3e25; background: #f5cbb1; }
.adminv2-main { background: #f8f1e8; }.adminv2-header { border-color: #e6dbd0; }.adminv2-breadcrumb { color: #9d8d82; }.adminv2-breadcrumb strong { color: #66574e; }.adminv2-live { color: #776b63; }.adminv2-heading h1 { color: #2d2723; font-family: "Playfair Display", Georgia, serif; font-size: clamp(31px, 3.5vw, 46px); font-weight: 700; letter-spacing: -.04em; }.adminv2-heading p { color: #756d67; }.adminv2-notice { border-color: #eadaca; background: #fff8ef; }.adminv2-notice > span { color: #b74422; }.adminv2-notice b { color: #8b5d3d; }.adminv2-notice small { color: #987b63; }.adminv2-notice a { color: #b74422; }
.adminv2-welcome { background: linear-gradient(125deg, #b74422, #d96d42); }.adminv2-welcome h2 { font-family: "Playfair Display", Georgia, serif; font-size: 28px; }.adminv2-today, .adminv2-panel, .adminv2-stat { border-color: #e9dfd5; background: #fffdfa; }.adminv2-today > strong, .adminv2-stat strong, .adminv2-panel-head h2 { color: #2d2723; }.adminv2-stat > div, .adminv2-today > div { color: #82766d; }.adminv2-queue, .adminv2-queue a { border-color: #eadfd5; }.adminv2-queue a { color: #61554e; }.adminv2-queue a:hover { background: #fff8f2; }.adminv2-panel-head > div > span, .adminv2-kicker { color: #b74422; }.adminv2-text, .adminv2-ghost { color: #9c4931; }.adminv2-primary { background: #b74422; }.adminv2-primary:hover { background: #913519; }.adminv2-stat.orange > div i { color: #b74422; background: #fce9df; }.adminv2-stat.blue > div i { color: #64879a; background: #eef5f7; }.adminv2-stat.purple > div i { color: #8d71a1; background: #f4eff7; }.adminv2-stat.green > div i { color: #3f7954; background: #edf6ee; }
.adminv2-mobile-nav-button { display: none; }
@media (max-width: 850px) { .adminv2-sidebar { background: #302925; }.adminv2-mobile-nav { position: relative; z-index: 12; margin-top: 14px; }.adminv2-mobile-nav-button { display: grid; width: 100%; min-height: 55px; grid-template-columns: 1fr auto; align-items: center; gap: 2px 9px; padding: 8px 12px; border: 1px solid #dfb59e; border-radius: 7px; color: #342a26; background: #fff8f1; text-align: left; }.adminv2-mobile-nav-button span { grid-column: 1 / -1; color: #a85a3d; font-size: 8px; font-weight: 900; letter-spacing: .13em; }.adminv2-mobile-nav-button b { font-size: 12px; }.adminv2-mobile-nav-button i { grid-column: 2; grid-row: 2; color: #b74422; font-style: normal; font-size: 16px; }.adminv2-mobile-options { position: absolute; top: calc(100% + 6px); right: 0; left: 0; display: none; max-height: min(360px, 56vh); overflow-y: auto; padding: 6px; border: 1px solid #d8b9a6; border-radius: 8px; background: #fffdfa; box-shadow: 0 14px 30px rgba(54,32,20,.2); }.adminv2-mobile-nav.open .adminv2-mobile-options { display: grid; }.adminv2-mobile-options a { display: flex; min-height: 38px; align-items: center; justify-content: space-between; padding: 0 10px; border-radius: 5px; color: #554840; font-size: 12px; font-weight: 700; }.adminv2-mobile-options a span { color: #b74422; font-size: 17px; }.adminv2-mobile-options a:hover, .adminv2-mobile-options a.selected { color: #fff; background: #b74422; }.adminv2-mobile-options a:hover span, .adminv2-mobile-options a.selected span { color: #ffd7bd; } }

/* Professional reusable invoice template */
.pro-invoice-preview { margin-top: 18px; overflow: auto; padding: clamp(12px, 2vw, 25px); border: 1px solid #e8dccc; border-radius: 12px; background: #efe5d8; }
.pro-invoice-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pro-invoice-actions button, .pro-invoice-actions a, .customer-invoice-top button { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid #d7bfaa; border-radius: 6px; color: #614126; background: #fffaf3; font: 800 10px/1 "DM Sans", Arial, sans-serif; cursor: pointer; }
.pro-invoice-actions .adminv2-primary { border-color: #7e491f; color: #fff; background: #8b501f; }
.pro-invoice-document { width: min(100%, 900px); margin: 0 auto; overflow: hidden; border: 1px solid #e3d4c2; border-radius: 5px; color: #2e241d; background: #fffefa; box-shadow: 0 12px 35px rgba(74,44,22,.12); font-family: "DM Sans", Arial, sans-serif; }
.pro-invoice-brand { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; padding: 32px 36px 25px; border-bottom: 1px solid #d8c2a7; background: linear-gradient(112deg, #fffdf8 0%, #faf0df 100%); }
.pro-invoice-identity { display: flex; align-items: flex-start; gap: 13px; }
.pro-invoice-mark { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border: 3px solid #9a5b21; border-radius: 50% 48% 48% 46%; color: #fff9ee; background: #704018; box-shadow: inset 0 0 0 4px #f4d5a7; font: 700 27px/1 Georgia, serif; transform: rotate(-8deg); }
.pro-invoice-identity img { width: 64px; height: 64px; object-fit: contain; }
.pro-invoice-identity > div { display: grid; gap: 4px; }
.pro-invoice-identity span { color: #3a1e0e; font: 700 clamp(21px, 3vw, 31px)/1.04 "Playfair Display", Georgia, serif; letter-spacing: .025em; }
.pro-invoice-identity b { color: #8f5b2c; font-size: 11px; font-weight: 800; letter-spacing: .05em; }
.pro-invoice-identity small { color: #6b5b4c; font: italic 13px/1.35 "Playfair Display", Georgia, serif; }
.pro-invoice-contact { display: grid; align-content: start; gap: 4px; min-width: 240px; color: #604a38; font-size: 11px; line-height: 1.45; text-align: right; }
.pro-invoice-contact b { color: #3b2a20; font-size: 12px; }
.pro-invoice-contact a { color: #765025; font-weight: 700; }
.pro-invoice-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; padding: 22px 36px; background: #fffdfa; }
.pro-invoice-title > div { display: grid; gap: 5px; }
.pro-invoice-title > div > span { color: #6d3e18; font: 700 clamp(28px, 5vw, 47px)/.95 "Playfair Display", Georgia, serif; letter-spacing: .045em; }
.pro-invoice-title > div > b { color: #8d7258; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.pro-invoice-title dl { display: grid; grid-template-columns: repeat(3, auto); gap: 18px; margin: 0; }
.pro-invoice-title dl div { display: grid; gap: 4px; }
.pro-invoice-title dt, .pro-invoice-order dt { color: #8a7560; font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.pro-invoice-title dd, .pro-invoice-order dd { margin: 0; color: #32271f; font-size: 10px; font-weight: 800; white-space: nowrap; }
.pro-invoice-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 0 36px 24px; }
.pro-invoice-cards > div, .pro-invoice-payment, .pro-invoice-total, .pro-invoice-order > div { min-width: 0; padding: 17px 19px; border: 1px solid #eadbc8; border-radius: 7px; background: linear-gradient(135deg, #fffcf7, #fbf3e9); }
.pro-invoice-cards span, .pro-invoice-payment > span, .pro-invoice-order span { display: block; margin-bottom: 10px; color: #8b541f; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.pro-invoice-cards b { display: block; color: #2f241d; font-size: 14px; }
.pro-invoice-cards small { display: block; margin-top: 4px; color: #685849; font-size: 11px; }
.pro-invoice-cards p { margin: 8px 0 0; color: #58493d; font-size: 11px; line-height: 1.55; }
.pro-invoice-items { margin: 0 36px; border: 1px solid #dfcdb9; border-radius: 6px; overflow: hidden; }
.pro-invoice-items table { width: 100%; border-collapse: collapse; }
.pro-invoice-items th { padding: 12px 13px; color: #fffaf1; background: linear-gradient(90deg, #40230f, #7e4a1e); font-size: 9px; letter-spacing: .1em; text-align: left; }
.pro-invoice-items th small { display: block; margin-top: 3px; color: #ead4b8; font-size: 7px; font-weight: 600; letter-spacing: .02em; }
.pro-invoice-items th:nth-last-child(-n+3), .pro-invoice-items td:nth-last-child(-n+3) { text-align: right; white-space: nowrap; }
.pro-invoice-items td { padding: 13px; border-top: 1px solid #eadfd2; color: #513d2c; font-size: 11px; vertical-align: top; }
.pro-invoice-items td:first-child { width: 25px; color: #9a744d; font-weight: 800; }
.pro-invoice-items td b { display: block; color: #2f241d; font-size: 12px; }
.pro-invoice-items td small { display: block; margin-top: 5px; color: #7d6855; font-size: 9px; line-height: 1.5; }
.pro-invoice-summary { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr); gap: 18px; padding: 22px 36px; }
.pro-invoice-payment { display: grid; align-content: start; gap: 9px; }
.pro-invoice-payment > div { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.pro-invoice-payment small { color: #85715f; font-size: 9px; }
.pro-invoice-payment b { color: #392b21; font-size: 11px; text-align: right; }
.pro-invoice-total { display: grid; align-content: start; gap: 9px; background: #fffdfa; }
.pro-invoice-total > span { display: flex; justify-content: space-between; gap: 15px; color: #5b493b; font-size: 11px; }
.pro-invoice-total > span b { font-weight: 600; }
.pro-invoice-total > span strong { color: #34271f; }
.pro-invoice-total > span.negative, .pro-invoice-total > span.negative strong { color: #a0492d; }
.pro-invoice-total > strong { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin: 3px -19px -17px; padding: 14px 19px; color: #2f1d10; background: linear-gradient(90deg, #f2d49e, #dfb870); font: 700 16px/1.1 "Playfair Display", Georgia, serif; }
.pro-invoice-total > strong b { font: 800 23px/1 "DM Sans", Arial, sans-serif; }
.pro-invoice-order { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 0 36px 25px; }
.pro-invoice-order dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.pro-invoice-notes p { margin: 0 0 10px; color: #5c4c3d; font-size: 10px; line-height: 1.5; }
.pro-invoice-notes p:last-child { margin-bottom: 0; }
.pro-invoice-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 25px; padding: 22px 36px; color: #f9ead3; background: linear-gradient(100deg, #3d210e, #6b3d18); }
.pro-invoice-footer > div { display: grid; gap: 4px; }
.pro-invoice-footer small { color: #dfc59f; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.pro-invoice-footer b { font: 700 19px/1.05 "Playfair Display", Georgia, serif; }
.pro-invoice-footer span { color: #ecd9bd; font-size: 10px; }
.pro-invoice-footer em { margin-top: 5px; color: #edc87f; font: italic 12px/1.3 "Playfair Display", Georgia, serif; }
.pro-invoice-footer > div:last-child { min-width: 160px; align-content: end; text-align: right; }
.pro-invoice-footer > div:last-child b { font: 800 11px/1.2 "DM Sans", Arial, sans-serif; }
.pro-invoice-footer a { color: #ffe2a2; font-size: 12px; font-weight: 800; }
.pro-invoice-filters { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(135px, auto)); gap: 9px; margin: 18px 0; }
.pro-invoice-filters label { display: flex; min-height: 37px; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid #e1d1bf; border-radius: 6px; color: #a2764f; background: #fffdf9; }
.pro-invoice-filters input, .pro-invoice-filters select { width: 100%; min-height: 37px; border: 1px solid #e1d1bf; border-radius: 6px; color: #473629; background: #fffdf9; font: 700 10px "DM Sans", Arial, sans-serif; }
.pro-invoice-filters label input { min-height: auto; border: 0; outline: 0; }
.pro-invoice-list { border-top: 1px solid #eadfd4; }
.pro-invoice-row { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(130px, .8fr) auto auto auto minmax(205px, 1fr); align-items: center; gap: 14px; padding: 15px 0; border-bottom: 1px solid #eadfd4; }
.pro-invoice-row > div, .pro-invoice-row > div > * { display: block; }
.pro-invoice-row > div > span { margin-bottom: 4px; color: #9b6b40; font-size: 8px; font-weight: 900; letter-spacing: .11em; }
.pro-invoice-row b { color: #423229; font-size: 11px; }
.pro-invoice-row small { margin-top: 3px; color: #8b7868; font-size: 9px; }
.pro-invoice-row > strong { color: #35271f; font-size: 13px; white-space: nowrap; }
.pro-invoice-row footer { display: flex; justify-content: flex-end; gap: 6px; }
.pro-invoice-row footer a, .pro-invoice-row footer button { padding: 6px 7px; border: 1px solid #e1d1bf; border-radius: 4px; color: #71451f; background: #fffaf3; font-size: 9px; font-weight: 800; white-space: nowrap; }
.customer-invoice-page { min-height: 100vh; padding: 28px 18px 58px; background: #efe5d8; }
.customer-invoice-top { display: flex; width: min(900px, 100%); align-items: center; justify-content: space-between; gap: 14px; margin: 0 auto 15px; }
.customer-invoice-top > a { color: #70411d; font-size: 11px; font-weight: 800; }
.customer-invoice-top > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.customer-invoice-top .btn { min-height: 36px; }
#pro-invoice-print { display: none; }

@media print {
  @page { size: A4; margin: 11mm; }
  body > * { display: none !important; }
  #pro-invoice-print { display: block !important; color: #2e241d !important; background: #fff !important; }
  #pro-invoice-print .pro-invoice-document { width: 100% !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  #pro-invoice-print .pro-invoice-brand { padding: 0 0 14px !important; }
  #pro-invoice-print .pro-invoice-title { padding: 16px 0 !important; }
  #pro-invoice-print .pro-invoice-cards { padding: 0 0 16px !important; }
  #pro-invoice-print .pro-invoice-items { margin: 0 !important; }
  #pro-invoice-print .pro-invoice-summary { padding: 16px 0 !important; }
  #pro-invoice-print .pro-invoice-order { padding: 0 0 16px !important; }
  #pro-invoice-print .pro-invoice-footer { margin: 0 -11mm -11mm !important; padding: 16px 11mm !important; }
  #pro-invoice-print tr, #pro-invoice-print .pro-invoice-cards > div, #pro-invoice-print .pro-invoice-summary > div { break-inside: avoid; page-break-inside: avoid; }
  #pro-invoice-print thead { display: table-header-group; }
  #pro-invoice-print .pro-invoice-items th { background: #4c2b12 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  #pro-invoice-print .pro-invoice-total > strong, #pro-invoice-print .pro-invoice-footer { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

@media (max-width: 850px) {
  .pro-invoice-preview { margin: 0 -5px; padding: 0; border: 0; background: transparent; }
  .pro-invoice-document { min-width: 0; }
  .pro-invoice-brand { grid-template-columns: 1fr; gap: 15px; padding: 24px 19px 18px; }
  .pro-invoice-contact { min-width: 0; text-align: left; }
  .pro-invoice-title { align-items: flex-start; flex-direction: column; padding: 19px; }
  .pro-invoice-title dl { width: 100%; grid-template-columns: 1fr 1fr; gap: 12px; }
  .pro-invoice-title dl div:last-child { grid-column: 1 / -1; }
  .pro-invoice-cards, .pro-invoice-summary, .pro-invoice-order { grid-template-columns: 1fr; padding-right: 19px; padding-left: 19px; }
  .pro-invoice-items { margin-right: 19px; margin-left: 19px; overflow-x: auto; }
  .pro-invoice-items table { min-width: 590px; }
  .pro-invoice-footer { grid-template-columns: 1fr; padding: 20px 19px; }
  .pro-invoice-footer > div:last-child { text-align: left; }
  .pro-invoice-filters { grid-template-columns: 1fr 1fr; }
  .pro-invoice-filters label { grid-column: 1 / -1; }
  .pro-invoice-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .pro-invoice-row > div:nth-child(2), .pro-invoice-row > .adminv2-chip { grid-column: 1; }
  .pro-invoice-row > strong { grid-column: 2; grid-row: 1 / span 2; }
  .pro-invoice-row footer { grid-column: 1 / -1; justify-content: flex-start; flex-wrap: wrap; margin-top: 5px; }
  .customer-invoice-top { align-items: flex-start; flex-direction: column; }
  .customer-invoice-top > div { justify-content: flex-start; }
}
/* Live storefront surfaces */
.live-command-strip{max-width:1180px;margin:22px auto 0;padding:15px 18px;display:flex;align-items:center;gap:13px;border:1px solid #dcebdd;border-radius:18px;background:#f3faf3;color:#214f36}.live-command-strip.closed{background:#fff2ee;border-color:#f1c7bb;color:#8f321e}.live-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#27a24a;box-shadow:0 0 0 5px #d8f1dc}.closed .live-dot{background:#c73622;box-shadow:0 0 0 5px #f8d8d0}.live-command-strip div{display:grid;gap:2px;flex:1}.live-command-strip small{color:#6f766f}.live-command-strip a{font-weight:700;color:inherit}.live-updates,.live-offers{max-width:1180px;margin:18px auto 0;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff}.live-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.live-updates article{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.live-updates article>span{color:var(--red);font-size:20px}.live-updates article b,.live-updates article p{margin:0}.live-updates article p{margin-top:3px;color:var(--muted);font-size:14px}.live-offers>div{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.live-offers article{display:grid;gap:4px;padding:15px;border-radius:15px;background:var(--cream)}.live-offers article span{font-weight:800;color:var(--red)}.live-offers article small{color:var(--muted)}.price-old{text-decoration:line-through;color:var(--muted);font-size:.78em;font-weight:500}.food-card.is-unavailable{opacity:.78}.food-card.is-unavailable .food-image{cursor:default}.card-variants{display:block;margin-top:10px;color:var(--muted);font-size:11px}.round-add:disabled{background:#d9d1ca;cursor:not-allowed}
@media (max-width:700px){.live-command-strip,.live-updates,.live-offers{margin-left:16px;margin-right:16px}.live-command-strip{align-items:flex-start}.live-offers>div{grid-template-columns:1fr}.live-command-strip a{white-space:nowrap}}

/* Live marketing surfaces. These are intentionally self-contained so an empty
   offers/notices collection collapses back to the normal storefront layout. */
.marketing-live{display:inline-flex;align-items:center;gap:6px;color:#3e8059;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.marketing-live i{width:7px;height:7px;border-radius:50%;background:#35a45d;box-shadow:0 0 0 4px #e2f4e7}.marketing-rail{max-width:1180px;margin:18px auto 0;padding:19px 20px;border:1px solid #ead9cb;border-radius:22px;background:linear-gradient(135deg,#fffdf9 0%,#fff4eb 100%);box-shadow:0 12px 28px rgba(142,83,54,.07)}.marketing-rail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.marketing-notice-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.marketing-notice{display:flex;gap:10px;padding:12px;border:1px solid #f0dfd2;border-radius:15px;background:#fff}.marketing-notice-icon{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:50%;color:#fff;background:#b74422;font-weight:900}.marketing-notice div{min-width:0}.marketing-notice b,.marketing-notice p{margin:0}.marketing-notice p{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}.marketing-offer-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.marketing-offer-row .live-offer-card{min-width:0}.live-offer-card{display:flex;align-items:center;gap:10px;padding:15px;border:1px solid #f0ddcf;border-radius:17px;background:linear-gradient(145deg,#fff 0%,#fff8ef 100%);box-shadow:0 8px 16px rgba(142,83,54,.05)}.live-offer-card.compact{padding:11px}.live-offer-mark{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,#bb4e2c,#e3994d);font-size:18px}.live-offer-copy{display:grid;min-width:0;gap:3px;flex:1}.live-offer-copy b{overflow:hidden;color:#4b2b20;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.live-offer-copy span{color:#b74422;font-size:16px;font-weight:900}.live-offer-copy small{color:var(--muted);font-size:10px;line-height:1.35}.live-offer-code{display:grid;min-width:72px;padding:8px 6px;border:1px dashed #cf8b6f;border-radius:10px;color:#a53e22;background:#fff7f2;cursor:pointer}.live-offer-code strong{font-size:10px;letter-spacing:.08em}.live-offer-code small{margin-top:2px;color:#9b7568;font-size:9px}.live-offers article{display:flex;align-items:center}.promotion-panel{margin:14px 0;padding:14px;border:1px solid #ead8cc;border-radius:14px;background:#fffaf6}.promotion-panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.promotion-panel-heading h3{margin:3px 0 0;color:#45291e;font-size:16px}.promotion-spark{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;color:#fff;background:#b74422}.promotion-panel .coupon-box{margin-top:0}.promotion-feedback{margin:8px 0 0;font-size:11px;font-weight:700;line-height:1.4}.promotion-feedback.success{color:#348058}.promotion-feedback.error{color:#a4432b}.promotion-shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.promotion-shortcuts button{padding:5px 8px;border:1px solid #e8c5b6;border-radius:99px;color:#a64327;background:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;cursor:pointer}.delivery-policy-note{display:flex;align-items:center;gap:6px;margin:9px 0 0;color:#88786f;font-size:11px;line-height:1.4}.delivery-policy-note svg{flex:0 0 auto;color:#b74422}.live-offers{box-shadow:0 10px 25px rgba(142,83,54,.05)}
@media (max-width:700px){.marketing-rail{margin-left:16px;margin-right:16px;padding:16px}.marketing-notice-row,.marketing-offer-row{grid-template-columns:1fr}.live-offer-card{align-items:flex-start}.live-offer-code{margin-left:auto}}

/* Premium polish pass: calmer surfaces, stronger hierarchy and more tactile
   controls without changing the existing route or interaction contracts. */
:root {
  --paper: #fffaf4;
  --cream: #f7ede1;
  --line: #eadfd4;
  --red: #bb4f2d;
  --red-dark: #91361f;
  --shadow: 0 24px 70px rgba(73, 45, 25, .13);
  --soft-shadow: 0 12px 34px rgba(65, 37, 20, .09);
}

body { background: radial-gradient(circle at 84% 0%, rgba(249, 225, 205, .45), transparent 28rem), var(--paper); }
.site-header { height: 88px; box-shadow: 0 1px 0 rgba(104, 72, 48, .04); }
.site-header:has(+ main) { border-color: rgba(226, 211, 198, .7); }
.brand-mark { background: linear-gradient(145deg, #c65a31, #9e381f); box-shadow: 0 8px 17px rgba(157, 56, 31, .18); }
.desktop-nav a { position: relative; padding: 8px 0; }
.desktop-nav a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; border-radius: 99px; background: var(--red); content: ""; opacity: 0; transform: scaleX(.4); transition: .2s ease; }
.desktop-nav a:hover::after, .desktop-nav a.active::after { opacity: 1; transform: scaleX(1); }
.cart-button { box-shadow: 0 6px 16px rgba(62, 38, 22, .06); transition: transform .2s ease, box-shadow .2s ease; }
.cart-button:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(62, 38, 22, .12); }
.hero { min-height: 650px; background: linear-gradient(135deg, #f8eee3 0%, #f5e6d7 58%, #f2ddca 100%); }
.hero-copy { padding-top: 96px; padding-bottom: 104px; }
.hero h1 { font-size: clamp(3.7rem, 6vw, 6.35rem); letter-spacing: -.055em; }
.hero-lead { max-width: 470px; font-size: 18px; }
.hero-visual { min-height: 650px; }
.hero-circle { background: radial-gradient(circle at 38% 28%, #df754b, #bf4b2b 72%); box-shadow: 0 35px 65px rgba(144, 52, 25, .18); }
.hero-main-image { height: 535px; border-radius: 270px 270px 26px 26px; box-shadow: 0 28px 65px rgba(80, 30, 15, .28); }
.floating-card { border: 1px solid rgba(255,255,255,.8); box-shadow: 0 15px 38px rgba(74, 34, 17, .16); }
.trust-strip { box-shadow: 0 14px 28px rgba(65, 37, 20, .06); }
.section { padding-top: 112px; padding-bottom: 112px; }
.food-card { border-radius: 18px; box-shadow: 0 8px 25px rgba(60, 34, 19, .05); }
.food-card:hover { box-shadow: 0 18px 40px rgba(60, 34, 19, .12); }
.food-image { height: 270px; }
.round-add { width: 40px; height: 40px; box-shadow: 0 5px 12px rgba(183, 68, 34, .08); }
.live-command-strip { border-radius: 16px; box-shadow: 0 12px 26px rgba(67, 34, 15, .06); }
.story-banner { box-shadow: 0 18px 46px rgba(73, 45, 25, .09); }
.cta-band { background: linear-gradient(110deg, #a94024, #c75b36); }
.site-footer { background: linear-gradient(145deg, #2d2825, #221d1a); }
.sticky-cart { border: 1px solid rgba(255,255,255,.08); border-radius: 13px; box-shadow: 0 19px 42px rgba(42,25,15,.26); }

@media (max-width: 850px) {
  .site-header { height: 76px; }
  .hero { min-height: auto; }
  .hero-copy { padding-top: 68px; padding-bottom: 58px; }
  .hero-visual { min-height: 540px; }
  .hero-main-image { height: 460px; }
}

@media (max-width: 480px) {
  .site-header { height: 70px; }
  .hero-copy { padding-top: 54px; }
  .hero h1 { font-size: clamp(3rem, 15vw, 4.35rem); }
  .hero-lead { font-size: 15px; }
  .hero-visual { min-height: 420px; padding-top: 28px; }
  .hero-main-image { height: 360px; }
  .section { padding-top: 70px; padding-bottom: 70px; }
  .sticky-cart { right: 12px; bottom: 12px; left: 12px; min-width: 0; }
}
/* Premium public header: the skyline is code-based, restrained and responsive. */
.site-header { height: 94px; padding-top: 18px; }
.brand-location { display: block; margin-left: 4px; color: #81736b; font-size: 10px; font-weight: 600; }
@media (max-width: 850px) { .site-header { height: 76px; padding-top: 0; } .brand-location { display: none; } }
.heritage-wrap, .heritage-skyline { display: none !important; }
.site-header { height: 78px !important; padding-top: 0 !important; border: 0 !important; box-shadow: none !important; }
.site-header + main { margin-top: 0 !important; }
.hero { margin-top: 0 !important; border-top: 0 !important; }
.story-banner { display: none !important; }
.compact-cta { background: #171514 !important; }
.compact-cta .eyebrow { color: #c85632; }
.compact-cta h2 { color: #fffaf4; }
.compact-cta .btn-light { color: #241b15; background: #d6a843; border-color: #d6a843; }
.compact-cta .btn-light:hover { background: #edc45b; border-color: #edc45b; }
.heritage-footer { position: relative; overflow: hidden; padding: 38px clamp(22px, 8vw, 110px) 0; color: #332821; background: #f7f1e8 !important; }
.footer-arch-top { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 auto 22px; color: #b45b38; }
.footer-arch-top span { width: min(190px, 25vw); height: 14px; border-top: 1px solid #c9a992; }
.footer-arch-top b { display: grid; width: 34px; height: 22px; place-items: center; border: 1px solid #c85632; border-bottom: 0; border-radius: 22px 22px 0 0; font-size: 17px; font-weight: 400; }
.footer-identity { display: grid; justify-items: center; gap: 4px; text-align: center; }
.footer-seal { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; color: #fffaf4; background: #c85632; font: 32px Georgia, serif; }
.footer-wordmark { display: grid; gap: 2px; color: #1a1715; text-align: center; }
.footer-wordmark b { font: 700 27px Georgia, serif; letter-spacing: .03em; }
.footer-wordmark small { font-size: 10px; letter-spacing: .28em; }
.footer-identity p { margin: 8px 0 28px; color: #705546; font: italic 17px Georgia, serif; }
.heritage-footer .footer-main { grid-template-columns: repeat(4, 1fr); gap: 0; max-width: 1050px; padding: 24px 0 26px; border-top: 1px solid #d9c5b5; border-bottom: 1px solid #d9c5b5; }
.heritage-footer .footer-main > div { min-height: 135px; padding: 0 26px; border-right: 1px solid #d9c5b5; }
.heritage-footer .footer-main > div:first-child { padding-left: 0; }
.heritage-footer .footer-main > div:last-child { padding-right: 0; border-right: 0; }
.heritage-footer .footer-main h4 { display: flex; align-items: center; gap: 9px; margin: 0 0 16px; color: #b44d2e; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.heritage-footer .footer-main h4 svg { flex: 0 0 auto; }
.heritage-footer .footer-main a, .heritage-footer .footer-main p { display: block; margin: 0 0 9px; color: #3e322b; font-size: 13px; line-height: 1.45; }
.heritage-footer .footer-main a:hover { color: #c85632; }
.heritage-footer .footer-main p:last-child { color: #705546; font-style: italic; }
.footer-values { display: flex; justify-content: center; gap: 0; max-width: 1050px; margin: 0 auto; padding: 21px 0; }
.footer-values span { display: flex; flex: 1; align-items: center; justify-content: center; gap: 9px; padding: 0 18px; border-right: 1px solid #d9c5b5; color: #49372e; font-size: 12px; text-align: center; }
.footer-values span:last-child { border-right: 0; }
.footer-values svg { color: #b44d2e; flex: 0 0 auto; }
.footer-skyline { max-width: 1250px; margin: 0 auto; overflow: hidden; color: #d9bda8; font-size: 32px; letter-spacing: .12em; line-height: .75; text-align: center; white-space: nowrap; }
.heritage-footer .footer-bottom { max-width: 1250px; padding: 16px 0; border-top: 1px solid #d9c5b5; color: #66544a; }
.heritage-footer .footer-bottom a { color: #4e3e35; }
@media (max-width: 850px) { .site-header { height: 70px !important; } }
@media (max-width: 850px) {
  .hero { display: flex; min-height: 0; flex-direction: column; overflow: hidden; background: var(--heritage-cream); }
  .hero-copy { order: 1; align-self: auto; padding: 42px 22px 26px; }
  .hero-copy .eyebrow { margin-bottom: 16px; font-size: 9px; line-height: 1.5; }
  .hero h1 { margin-bottom: 16px; font-size: clamp(3rem, 14vw, 4rem); line-height: .92; }
  .hero-lead { max-width: 34rem; margin-bottom: 22px; font-size: 14px; line-height: 1.55; }
  .hero-actions { gap: 9px; }
  .hero-actions .btn { min-height: 44px; padding: 0 16px; font-size: 12px; }
  .hero-note { margin-top: 24px; }
  .hero-visual { order: 2; min-height: 0; height: 292px; padding: 0 22px 26px; }
  .hero-circle { top: 0; left: 4%; width: 92%; height: 255px; border-radius: 52% 52% 45% 45%; }
  .hero-main-image { width: calc(100% - 38px); height: 245px; border-radius: 125px 125px 18px 18px; object-position: center; }
  .floating-card { transform: scale(.78); transform-origin: center; }
  .floating-card-top { top: 16px; left: 4px; }
  .floating-card-bottom { right: 1px; bottom: 19px; }
  .live-command-strip { margin-top: 0; border-radius: 0; }
  .trust-strip { grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 22px 18px; }
  .site-footer { padding: 28px 22px 14px; }
  .footer-main { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px 18px; padding-bottom: 20px; }
  .footer-main > div:first-child { grid-column: 1 / -1; }
  .footer-brand { transform: scale(.86); transform-origin: left center; }
  .footer-main p { max-width: none; margin: 8px 0 0; font-size: 11px; line-height: 1.45; }
  .footer-main h4 { margin: 0 0 8px; font-size: 11px; }
  .footer-main > div:last-child { gap: 6px; }
  .footer-main > div:last-child a, .footer-main p { font-size: 11px; }
  .footer-main > div:nth-child(2) p { margin: 0; }
  .footer-bottom { display: flex; flex-wrap: wrap; gap: 8px 14px; padding-top: 12px; font-size: 9px; line-height: 1.4; }
  .footer-bottom > span:last-child { gap: 10px; }
  .heritage-footer { padding: 28px 20px 0; }
  .footer-arch-top { margin-bottom: 16px; }
  .footer-arch-top span { width: 58px; }
  .footer-identity p { margin-bottom: 20px; font-size: 14px; }
  .heritage-footer .footer-main { grid-template-columns: repeat(2, 1fr); gap: 0; padding: 18px 0 4px; }
  .heritage-footer .footer-main > div, .heritage-footer .footer-main > div:first-child, .heritage-footer .footer-main > div:last-child { min-height: 118px; padding: 0 12px 16px 0; border-right: 0; }
  .heritage-footer .footer-main > div:nth-child(odd) { border-right: 1px solid #d9c5b5; padding-right: 14px; }
  .heritage-footer .footer-main > div:nth-child(even) { padding-left: 14px; }
  .heritage-footer .footer-main h4 { margin-bottom: 10px; font-size: 10px; }
  .heritage-footer .footer-main a, .heritage-footer .footer-main p { font-size: 11px; }
  .footer-values { display: grid; grid-template-columns: repeat(2, 1fr); padding: 16px 0; }
  .footer-values span { min-height: 42px; padding: 6px 8px; border-right: 0; font-size: 10px; }
  .footer-skyline { font-size: 22px; }
  .heritage-footer .footer-bottom { display: grid; gap: 8px; font-size: 9px; }
}

/* Option 1 — Minimal Heritage public storefront */
:root { --heritage-cream: #f7f1e8; --heritage-ink: #1a1715; --heritage-terra: #c85632; --heritage-line: #c9a992; }
body { color: var(--heritage-ink); background: var(--heritage-cream); }
.site-header { background: rgba(247,241,232,.94); border-bottom-color: rgba(120,80,55,.12); box-shadow: 0 1px 0 rgba(120,80,55,.05); }
.site-header .brand-mark { background: var(--heritage-terra); box-shadow: none; }
.site-header .brand-copy b, .site-header .brand-copy small { color: var(--heritage-ink); }
.site-header .desktop-nav a { color: #4e433d; }
.site-header .desktop-nav a:hover, .site-header .desktop-nav a.active { color: var(--heritage-terra); }
.site-header .desktop-nav a.active::after { background: var(--heritage-terra); }
.hero { position: relative; background: var(--heritage-cream); }
.hero::before { position: absolute; inset: 0; pointer-events: none; content: ""; opacity: .35; background: radial-gradient(circle at 88% 30%, rgba(200,86,50,.1), transparent 27%), linear-gradient(110deg, transparent 0 70%, rgba(201,169,146,.1) 70% 70.2%, transparent 70.2%); }
.hero-copy { position: relative; z-index: 1; }
.hero h1 { color: var(--heritage-ink); font-family: "Playfair Display", Georgia, serif; font-weight: 700; letter-spacing: -.06em; }
.hero h1 em { color: var(--heritage-terra); }
.hero-lead { color: #756c64; }
.hero .eyebrow { color: var(--heritage-terra); letter-spacing: .16em; }
.hero-visual { z-index: 1; }
.hero-circle { background: var(--heritage-terra); box-shadow: 0 28px 70px rgba(120,80,55,.15); }
.hero-main-image { box-shadow: 0 24px 55px rgba(48,32,24,.2); }
.trust-strip { background: rgba(255,255,255,.5); border-color: rgba(201,169,146,.3); }
.section-heading h2, .story-copy h2, .how-section h2, .cta-band h2 { color: var(--heritage-ink); font-family: "Playfair Display", Georgia, serif; }
.food-card, .order-card, .contact-card, .track-card { border-color: rgba(201,169,146,.5); background: rgba(255,255,255,.68); box-shadow: 0 10px 32px rgba(73,45,25,.06); }
.btn-primary { background: var(--heritage-terra); }
.btn-primary:hover { background: #a94427; }
.cta-band { background: var(--heritage-ink); }
.site-footer { background: #2a211d; }
@media (max-width: 850px) { .hero::before { opacity: .22; } .hero-main-image { box-shadow: 0 18px 40px rgba(48,32,24,.18); } }

/* Compact footer refinement */
.heritage-footer .footer-arch-top, .heritage-footer .footer-skyline { display: none !important; }
.heritage-footer .footer-values { display: none !important; }
.heritage-footer { padding-top: 22px; }
.footer-seal { width: 42px; height: 42px; font-size: 24px; }
.footer-wordmark b { font-size: 20px; }
.footer-wordmark small { font-size: 8px; }
.footer-identity p { margin: 5px 0 14px; font-size: 12px; }
.heritage-footer .footer-main { padding-top: 15px; padding-bottom: 12px; }
.heritage-footer .footer-main > div { min-height: 108px; }
.footer-values { padding: 12px 0; }
.heritage-footer .footer-bottom { padding: 10px 0; }
@media (max-width: 850px) {
  .heritage-footer { padding: 18px 16px 0; }
  .footer-identity p { margin-bottom: 12px; font-size: 12px; }
  .heritage-footer .footer-main { padding: 12px 0 2px; }
  .heritage-footer .footer-main > div:first-child { grid-column: auto; }
  .heritage-footer .footer-main > div, .heritage-footer .footer-main > div:first-child, .heritage-footer .footer-main > div:last-child { display: flex; min-height: 92px; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: 0 12px 10px 0; border-right: 1px solid #d9c5b5; }
  .heritage-footer .footer-main > div:nth-child(even) { padding-right: 0; padding-left: 12px; border-right: 0; }
  .heritage-footer .footer-main > div, .heritage-footer .footer-main > div:first-child, .heritage-footer .footer-main > div:last-child { min-height: 96px; padding-bottom: 10px; }
  .heritage-footer .footer-main h4 { margin-bottom: 7px; }
  .heritage-footer .footer-main a, .heritage-footer .footer-main p { margin-bottom: 5px; font-size: 10px; }
  .heritage-footer .footer-bottom { gap: 4px; padding: 7px 0; font-size: 8px; }
}

/* Final storefront cleanup: only the status badge gets the brutalist accent. */
.site-header .status-badge { display: inline-flex; min-height: 23px; align-items: center; margin-left: 8px; padding: 2px 8px; border: 2px solid #171514; border-radius: 4px; box-shadow: 3px 3px 0 #171514; font-size: 9px; font-weight: 900; letter-spacing: .06em; line-height: 1; white-space: nowrap; transform: rotate(-1deg); }
.site-header .status-badge.open { color: #101b12; background: #45c86a; }
.site-header .status-badge.closed { color: #171514; background: #ff765c; }
.site-header .status-badge.checking { color: #332616; background: #f0c96d; }
.live-command-strip.checking { color: #6d4d1f; background: #fff8e6; border-color: #ecd79a; }
.live-command-strip.checking .live-dot { background: #d39b24; box-shadow: 0 0 0 5px #faedc5; }
.menu-order-paused { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; padding: 12px 14px; border: 1px solid #efc2b5; border-radius: 10px; color: #7f321f; background: #fff3ef; }
.menu-order-paused > span { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 50%; color: #fff; background: #c85632; font-size: 10px; }
.menu-order-paused div { display: grid; gap: 2px; }
.menu-order-paused b { font-size: 12px; }
.menu-order-paused small { color: #9a6858; font-size: 10px; line-height: 1.4; }
.menu-order-paused.checking { color: #6d4d1f; background: #fff8e6; border-color: #ecd79a; }
.menu-order-paused.checking > span { color: #6d4d1f; background: #f0c96d; }
.closed-menu-panel { max-width: 850px; margin: 0 auto; padding-top: 60px; padding-bottom: 60px; text-align: center; }
.closed-menu-mark { display: grid; width: 52px; height: 52px; margin: 0 auto 17px; place-items: center; border: 1px solid #d8bba6; border-radius: 50%; color: var(--heritage-terra); font-size: 27px; }
.closed-menu-panel .eyebrow { justify-content: center; }
.closed-menu-panel h2 { margin-bottom: 9px; color: var(--heritage-ink); font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.8rem, 4vw, 2.9rem); }
.closed-menu-panel p:not(.eyebrow) { max-width: 520px; margin: 0 auto 19px; color: #806b5f; font-size: 13px; line-height: 1.6; }
.closed-menu-panel.checking .closed-menu-mark { color: #ad7a1d; border-color: #e2c981; }
.closed-menu-view .menu-intro .menu-order-paused { max-width: 610px; margin: 20px 0 18px; }
.closed-menu-view .menu-results { padding-top: 25px; }
.closed-menu-view .food-card.is-unavailable { filter: saturate(.75); }

@media (max-width: 560px) {
  .menu-order-paused { align-items: flex-start; }
  .closed-menu-panel { padding-top: 42px; padding-bottom: 42px; }
}

/* The original markup uses .cart-items while the legacy rule targeted .cart-list. */
.cart-items { display: flex; flex-direction: column; gap: 10px; }
.summary-rows { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.summary-rows > span, .summary-rows > strong { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.summary-rows > span { color: #746861; font-size: 12px; }
.summary-rows > span b { color: var(--ink); font-size: 12px; }
.summary-rows > strong { margin-top: 4px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--ink); font-size: 14px; }
.summary-rows > strong b { font-size: 18px; }
.cart-summary, .checkout-summary { padding: 17px; border-radius: 10px; }
.cart-summary h2, .checkout-summary h2 { margin-bottom: 12px; font-size: 18px; }
.cart-summary .order-footnote, .checkout-summary .order-footnote { margin: 10px 0 11px; font-size: 9px; }
.cart-summary .btn, .checkout-summary .btn { min-height: 43px; font-size: 12px; }
.checkout-summary .mini-items { gap: 7px; margin-bottom: 12px; padding-bottom: 12px; }

/* Live campaign stage: active offers and notices belong in the first viewport,
   where the customer can act on them immediately. Empty campaigns render no
   stage, keeping the landing page calm on normal days. */
.hero { position: relative; isolation: isolate; background: radial-gradient(circle at 78% 15%, rgba(212, 168, 126, .22), transparent 25rem), var(--heritage-cream); }
.hero::after { position: absolute; z-index: -1; right: 0; bottom: 0; left: 0; height: 34%; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(200, 86, 50, .045)); content: ""; }
.hero-copy { z-index: 2; }
.hero-campaign { position: relative; max-width: 590px; margin-top: 25px; padding: 14px; overflow: hidden; border: 1px solid rgba(200, 86, 50, .22); border-radius: 20px; background: rgba(255, 253, 249, .78); box-shadow: 0 16px 34px rgba(91, 47, 25, .11); backdrop-filter: blur(14px); animation: campaignReveal .55s cubic-bezier(.2,.8,.2,1) both; }
.hero-campaign::before { position: absolute; top: 0; bottom: 0; left: -35%; width: 25%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); content: ""; transform: skewX(-18deg); animation: campaignSweep 5.5s ease-in-out infinite; }
.hero-campaign-head, .hero-campaign-foot { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.hero-campaign-head { margin: 0 2px 10px; color: var(--heritage-terra); font-size: 9px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.hero-campaign-head > span { display: inline-flex; align-items: center; gap: 7px; }
.hero-campaign-head i { width: 7px; height: 7px; border-radius: 50%; background: #38a65e; box-shadow: 0 0 0 4px #def2e3; animation: campaignPulse 1.9s ease-in-out infinite; }
.hero-campaign-head small { color: #9a8275; font-size: 9px; font-weight: 700; letter-spacing: .02em; text-transform: none; }
.hero-campaign-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 9px; }
.hero-campaign-story, .hero-campaign-offer { min-height: 84px; border-radius: 14px; }
.hero-campaign-story { display: flex; align-items: flex-start; gap: 10px; padding: 13px; background: #fff8f1; }
.hero-campaign-icon { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 9px; color: #fff; background: var(--heritage-terra); font-size: 15px; font-weight: 900; }
.hero-campaign-story b, .hero-campaign-story p { display: block; margin: 0; }
.hero-campaign-story b { color: #34251f; font-size: 12px; line-height: 1.25; }
.hero-campaign-story p { margin-top: 5px; color: #806c61; font-size: 11px; line-height: 1.4; }
.hero-campaign-offer { display: flex; align-items: center; gap: 9px; padding: 11px; border: 1px solid rgba(200,86,50,.28); color: #fff; background: linear-gradient(135deg, #a94325, #c75b35); text-align: left; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.hero-campaign-offer:hover { box-shadow: 0 9px 18px rgba(143, 52, 28, .22); transform: translateY(-2px); }
.hero-campaign-offer-badge { display: grid; min-width: 42px; min-height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff1dc; font-size: 10px; font-weight: 900; line-height: 1.05; text-align: center; }
.hero-campaign-offer > span:nth-child(2) { display: grid; min-width: 0; gap: 4px; flex: 1; }
.hero-campaign-offer b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.hero-campaign-offer small { color: rgba(255,255,255,.78); font-size: 9px; line-height: 1.35; }
.hero-campaign-offer small strong { color: #fff; letter-spacing: .08em; }
.hero-campaign-arrow { font-size: 21px; font-weight: 300; }
.hero-campaign-foot { margin: 10px 2px 0; color: #9a8275; font-size: 9px; }
.hero-campaign-foot a { display: inline-flex; align-items: center; gap: 4px; color: var(--heritage-terra); font-weight: 800; white-space: nowrap; }
@keyframes campaignReveal { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes campaignSweep { 0%, 62% { left: -35%; } 82%, 100% { left: 125%; } }
@keyframes campaignPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(.75); } }
@media (prefers-reduced-motion: reduce) { .hero-campaign, .hero-campaign::before, .hero-campaign-head i { animation: none; } }
@media (max-width: 850px) { .hero-campaign { margin-top: 20px; } .hero-campaign-grid { grid-template-columns: 1fr; } .hero-campaign-foot { align-items: flex-start; flex-direction: column; gap: 5px; } }
@media (max-width: 480px) { .hero-campaign { margin-top: 18px; padding: 11px; border-radius: 16px; } .hero-campaign-head small { display: none; } .hero-campaign-story, .hero-campaign-offer { min-height: 76px; } }

/* Creative campaign stage: the admin enters plain copy, while the storefront
   turns it into a small editorial ad with a controlled visual system. */
.hero-campaign { max-width: 610px; padding: 12px; border: 1px solid rgba(200,86,50,.22); border-radius: 22px; background: rgba(255,253,249,.72); box-shadow: 0 18px 38px rgba(91,47,25,.12); }
.hero-campaign::before { display: none; }
.campaign-ad-slot { position: relative; min-height: 184px; overflow: hidden; border-radius: 17px; }
.campaign-ad-slot.is-changing { opacity: .35; transform: translateY(4px) scale(.985); transition: opacity .17s ease, transform .17s ease; }
.campaign-ad { position: relative; min-height: 184px; overflow: hidden; padding: 17px; color: #2d211b; background: #fff9f1; isolation: isolate; }
.campaign-ad-glow { position: absolute; z-index: -1; top: -70px; right: -45px; width: 200px; height: 200px; border-radius: 50%; background: rgba(224,141,86,.22); filter: blur(2px); }
.campaign-ad-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.campaign-ad-kicker { display: inline-flex; align-items: center; gap: 7px; color: #a5502f; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.campaign-ad-kicker i { width: 7px; height: 7px; border-radius: 50%; background: #36a35d; box-shadow: 0 0 0 4px #dff2e4; }
.campaign-ad-count { padding: 5px 7px; border: 1px solid rgba(112,75,50,.16); border-radius: 99px; color: #8c705d; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.campaign-ad-main { display: grid; grid-template-columns: minmax(0, 1fr) 104px; gap: 15px; align-items: center; min-height: 141px; }
.campaign-ad-copy { min-width: 0; }
.campaign-ad-value { display: block; margin-top: 10px; color: #b85d36; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.campaign-ad h3 { max-width: 360px; margin: 4px 0 5px; color: #30221c; font: 700 clamp(1.55rem, 3vw, 2.15rem)/.98 "Playfair Display", Georgia, serif; letter-spacing: -.045em; overflow-wrap: anywhere; }
.campaign-ad p { max-width: 400px; margin: 0 0 10px; color: #755e50; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.campaign-ad-code { display: inline-flex; align-items: center; gap: 5px; margin-bottom: 11px; padding: 5px 8px; border: 1px dashed currentColor; border-radius: 5px; color: #b04e2d; font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.campaign-ad-code b { font-size: 10px; }
.campaign-ad-cta { display: inline-flex; min-height: 34px; align-items: center; gap: 6px; padding: 0 11px; border: 0; border-radius: 6px; color: #fffaf3; background: #bd4f2c; font-size: 10px; font-weight: 900; box-shadow: 3px 3px 0 rgba(55,34,22,.15); }
.campaign-ad-cta:hover { color: #fff; transform: translate(1px, 1px); }
.campaign-ad-art { position: relative; display: grid; width: 104px; height: 104px; place-content: center; gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; color: #fff8eb; background: #bf592f; box-shadow: 0 11px 25px rgba(119,55,28,.18); text-align: center; transform: rotate(6deg); }
.campaign-ad-art::before, .campaign-ad-art::after { position: absolute; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; content: ""; }
.campaign-ad-art::before { inset: 10px; }
.campaign-ad-art::after { inset: 20px; opacity: .5; }
.campaign-ad-art span, .campaign-ad-art small, .campaign-ad-art b { position: relative; z-index: 1; }
.campaign-ad-art span { font: 700 29px/1 "Playfair Display", Georgia, serif; }
.campaign-ad-art small { font-size: 7px; font-weight: 900; letter-spacing: .12em; }
.campaign-ad-art b { margin-top: 3px; font-size: 8px; letter-spacing: .16em; }
.campaign-ad-editorial { background: linear-gradient(135deg, #fff9f1 0%, #f1dfc9 100%); }
.campaign-ad-editorial .campaign-ad-glow { background: #e8be8f; }
.campaign-ad-editorial .campaign-ad-art { background: linear-gradient(145deg, #a94325, #dc8a42); }
.campaign-ad-festival { color: #fff7ef; background: linear-gradient(120deg, #5d213d 0%, #bd452a 54%, #e39042 100%); }
.campaign-ad-festival .campaign-ad-glow { background: rgba(255,211,117,.38); }
.campaign-ad-festival .campaign-ad-kicker, .campaign-ad-festival .campaign-ad-value, .campaign-ad-festival h3, .campaign-ad-festival p { color: #fff7ed; }
.campaign-ad-festival .campaign-ad-count { border-color: rgba(255,255,255,.32); color: #ffe2bb; }
.campaign-ad-festival .campaign-ad-art { background: rgba(47,20,45,.38); box-shadow: 0 11px 25px rgba(49,16,38,.3); }
.campaign-ad-festival .campaign-ad-cta { color: #52233a; background: #ffd48d; box-shadow: 3px 3px 0 rgba(50,17,33,.2); }
.campaign-ad-festival .campaign-ad-code { color: #ffe1ae; }
.campaign-ad-midnight { color: #fff; background: linear-gradient(125deg, #161b35 0%, #293d68 57%, #427c85 100%); }
.campaign-ad-midnight .campaign-ad-glow { background: rgba(143,220,211,.25); }
.campaign-ad-midnight .campaign-ad-kicker, .campaign-ad-midnight .campaign-ad-value, .campaign-ad-midnight h3, .campaign-ad-midnight p { color: #f4fbf3; }
.campaign-ad-midnight .campaign-ad-count { border-color: rgba(255,255,255,.3); color: #c9e3db; }
.campaign-ad-midnight .campaign-ad-art { background: linear-gradient(145deg, #d86b45, #8d477d); }
.campaign-ad-midnight .campaign-ad-cta { background: #e26f4a; }
.campaign-ad-midnight .campaign-ad-code { color: #b9f0df; }
.campaign-ad-fresh { background: linear-gradient(135deg, #eef7e9 0%, #d6ebd2 100%); }
.campaign-ad-fresh .campaign-ad-glow { background: #a8d6a3; }
.campaign-ad-fresh .campaign-ad-kicker, .campaign-ad-fresh .campaign-ad-value { color: #34724c; }
.campaign-ad-fresh .campaign-ad-art { background: linear-gradient(145deg, #34724c, #73a951); }
.campaign-dots { display: inline-flex; align-items: center; gap: 5px; }
.campaign-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #d6b7a5; }
.campaign-dots button.active { width: 21px; border-radius: 99px; background: #bd4f2c; }
.campaign-dots-label { color: #927b6c; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hero-campaign-foot { min-height: 22px; margin-top: 9px; }
.hero-campaign-foot > a { font-size: 10px; }
@media (max-width: 480px) {
  .hero-campaign { padding: 9px; border-radius: 17px; }
  .campaign-ad-slot, .campaign-ad { min-height: 202px; }
  .campaign-ad { padding: 14px; }
  .campaign-ad-main { grid-template-columns: minmax(0, 1fr) 82px; gap: 8px; min-height: 159px; }
  .campaign-ad-art { width: 82px; height: 82px; }
  .campaign-ad-art span { font-size: 24px; }
  .campaign-ad h3 { font-size: 1.45rem; }
  .campaign-ad p { font-size: 10px; }
}
.checkout-summary .mini-items div { font-size: 10px; }

/* Compact footer: one identity row, four short link columns, tiny legal line. */
.heritage-footer { padding: 16px clamp(22px, 7vw, 100px) 0; }
.heritage-footer .footer-identity { display: flex; max-width: 1050px; align-items: center; justify-items: initial; gap: 9px; margin: 0 auto 13px; text-align: left; }
.heritage-footer .footer-seal { width: 36px; height: 36px; flex: 0 0 36px; font-size: 21px; }
.heritage-footer .footer-wordmark { justify-items: start; text-align: left; }
.heritage-footer .footer-wordmark b { font-size: 16px; }
.heritage-footer .footer-wordmark small { font-size: 7px; }
.heritage-footer .footer-identity p { margin: 0 0 0 auto; color: #806b5f; font-size: 10px; }
.heritage-footer .footer-main { padding: 11px 0 9px; }
.heritage-footer .footer-main > div { min-height: 0; padding: 0 16px; }
.heritage-footer .footer-main h4 { margin-bottom: 7px; font-size: 10px; }
.heritage-footer .footer-main h4 svg { width: 15px; height: 15px; }
.heritage-footer .footer-main a, .heritage-footer .footer-main p { margin-bottom: 4px; font-size: 10px; line-height: 1.3; }
.heritage-footer .footer-bottom { padding: 8px 0; font-size: 8px; }

@media (max-width: 850px) {
  .site-header .status-badge { min-height: 21px; margin-left: 5px; padding: 2px 6px; box-shadow: 2px 2px 0 #171514; font-size: 8px; }
  .heritage-footer { padding: 14px 16px 0; }
  .heritage-footer .footer-identity { flex-wrap: wrap; margin-bottom: 9px; }
  .heritage-footer .footer-identity p { flex-basis: 100%; margin: 0 0 1px; font-size: 10px; }
  .heritage-footer .footer-main { padding: 9px 0 2px; }
  .heritage-footer .footer-main > div, .heritage-footer .footer-main > div:first-child, .heritage-footer .footer-main > div:last-child { min-height: 0; padding: 0 10px 8px 0; }
  .heritage-footer .footer-main > div:nth-child(even) { padding-right: 0; padding-left: 10px; }
  .heritage-footer .footer-main h4 { margin-bottom: 5px; }
  .heritage-footer .footer-bottom { padding: 6px 0; }
}

/* Final public-facing footer and menu CTA: three quiet lines, one clear action. */
.compact-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0; padding: 24px clamp(20px, 8vw, 110px); color: var(--heritage-ink); background: #f3e5d5 !important; border-top: 1px solid #d8c0aa; border-bottom: 1px solid #d8c0aa; }
.compact-cta-copy { display: flex; align-items: center; gap: 13px; }
.compact-cta .cta-spark { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid var(--heritage-terra); border-radius: 50%; color: var(--heritage-terra); font-size: 17px; }
.compact-cta .eyebrow { margin-bottom: 3px; color: var(--heritage-terra); }
.compact-cta h2 { margin: 0; color: var(--heritage-ink); font-size: clamp(1.35rem, 2.4vw, 2.1rem); }
.menu-cta { display: inline-flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 14px 0 17px; color: #fffaf4; background: var(--heritage-ink); border: 1px solid var(--heritage-ink); border-radius: 5px; box-shadow: 4px 4px 0 var(--heritage-terra); font-size: 11px; font-weight: 800; letter-spacing: .02em; white-space: nowrap; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.menu-cta svg { color: #f2c76a; }
.menu-cta:hover { color: #fffaf4; background: #3a2c24; box-shadow: 2px 2px 0 var(--heritage-terra); transform: translate(2px, 2px); }

.compact-footer { padding: 13px clamp(20px, 7vw, 100px) 9px !important; color: #675247; background: #f7f1e8 !important; border-top: 0; }
.compact-footer-line { max-width: 1120px; margin: 0 auto; }
.compact-footer-brand { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 9px; border-bottom: 1px solid #dccbbc; }
.compact-footer-brand .footer-wordmark { display: inline-grid; flex: 0 0 auto; gap: 1px; color: var(--heritage-ink); line-height: 1; }
.compact-footer-brand .footer-wordmark b { font-family: "Playfair Display", Georgia, serif; font-size: 16px; letter-spacing: .02em; }
.compact-footer-brand .footer-wordmark small { color: var(--heritage-terra); font-size: 7px; font-weight: 800; letter-spacing: .22em; }
.compact-footer-brand > span { color: #8a7264; font-size: 9px; font-style: italic; text-align: right; }
.compact-footer-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid #dccbbc; }
.compact-footer-nav nav, .compact-footer-meta > span:last-child { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; }
.compact-footer a { color: #604b40; }
.compact-footer-nav nav a { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.compact-footer-nav nav a:hover, .compact-footer-meta a:hover { color: var(--heritage-terra); }
.compact-footer-call { display: inline-flex; align-items: center; gap: 5px; color: var(--heritage-terra) !important; font-size: 10px; font-weight: 800; }
.compact-footer-call svg { flex: 0 0 auto; }
.compact-footer-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 8px; color: #917d70; font-size: 8px; }
.compact-footer-meta > span:last-child { gap: 12px; }
.compact-footer-meta a { color: #806b5f; }

@media (max-width: 560px) {
  .compact-cta { display: grid; gap: 14px; padding: 20px 18px; }
  .compact-cta-copy { gap: 10px; }
  .compact-cta .cta-spark { width: 30px; height: 30px; flex-basis: 30px; font-size: 15px; }
  .compact-cta h2 { font-size: 1.35rem; }
  .menu-cta { width: 100%; }
  .compact-footer { padding: 12px 16px 8px !important; }
  .compact-footer-brand { align-items: flex-start; gap: 8px; }
  .compact-footer-brand > span { max-width: 205px; font-size: 8px; line-height: 1.35; }
  .compact-footer-nav { gap: 8px; }
  .compact-footer-nav nav { gap: 10px; }
  .compact-footer-nav nav a { font-size: 8px; letter-spacing: .08em; }
  .compact-footer-call { font-size: 9px; }
  .compact-footer-meta { align-items: flex-start; gap: 6px; font-size: 7px; }
  .compact-footer-meta > span:last-child { gap: 8px; }
}

/* Last-resort viewport guard: this is intentionally at EOF so all earlier
   design iterations yield to the mobile sizing contract. */
html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
#app { width: 100%; max-width: 100vw; overflow-x: clip; }
#app > * { max-width: 100%; min-width: 0; }
main { width: 100%; max-width: 100%; min-width: 0; overflow-x: clip; }
@media (max-width: 850px) {
  .site-header, .hero, .hero-copy, .hero-visual, .section, .story-banner, .cta-band, .site-footer { width: 100%; max-width: 100%; min-width: 0; }
  .site-header { max-width: 100vw; }
  .hero { overflow: hidden; }
  .hero-copy { padding-right: 18px; padding-left: 18px; overflow-wrap: anywhere; }
  .hero h1 { max-width: 100%; font-size: clamp(2.35rem, 12vw, 3.55rem); }
  .hero-lead, .hero-note small { max-width: 100%; overflow-wrap: anywhere; }
  .hero-visual { overflow: hidden; }
  .hero-main-image { max-width: 100%; }
  .food-grid, .steps, .home-category-rail, .site-reviews-grid { min-width: 0; max-width: 100%; }
  .hero-campaign, .campaign-ad, .campaign-ad-main, .campaign-ad-copy { min-width: 0; max-width: 100%; }
  .campaign-ad h3, .campaign-ad p { overflow-wrap: anywhere; white-space: normal; }
}
@media (max-width: 480px) {
  .site-header { padding-right: 12px; padding-left: 12px; }
  .hero-copy { padding-right: 16px; padding-left: 16px; }
  .hero-visual { height: 292px; padding-right: 18px; padding-left: 18px; }
  .hero-main-image { width: calc(100% - 26px); height: 245px; }
  .section { padding-right: 16px; padding-left: 16px; }
  .site-feedback-form { width: 100%; max-width: 100%; }
}

/* Final mobile conversion contract. This block intentionally remains last so
   earlier visual iterations cannot push the food or the primary action below
   the first useful screen. */
@media (max-width: 850px) {
  .hero { display: flex; flex-direction: column; }
  .hero-visual { order: 1; height: 304px; min-height: 304px; padding-top: 24px; }
  .hero-copy { order: 2; padding-top: 34px; }
  .mobile-order-bar { display: flex; }
  body:has(.mobile-order-bar) { padding-bottom: 80px; }
}
@media (max-width: 480px) {
  .hero-visual { height: 286px; min-height: 286px; padding: 18px 23px; }
  .hero-main-image { width: calc(100% - 26px); height: 250px; }
  .hero-food-card { right: 12px; bottom: 12px; width: min(190px, 56%); padding: 10px 11px; }
  .hero-food-card b { font-size: 14px; }
  .hero-food-card small, .hero-food-card a { font-size: 9px; }
  .hero-copy { padding-top: 32px; }
  .hero-trust { gap: 8px; margin-top: 24px; padding-top: 15px; }
  .hero-trust span { min-width: 0; flex: 1; padding-right: 8px; margin-right: 8px; }
  .hero-trust b { font-size: 10px; }
  .hero-trust small { font-size: 9px; }
}

@media (max-width: 850px) {
  .trust-strip { width: auto; margin-right: 16px; margin-left: 16px; }
  .feedback-rating input { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
}

/* Header and hero intentionally blend into one continuous surface. */
.site-header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none;
}
body, main, .hero { background: #f3e7da !important; }
.hero-main-image { transition: opacity .18s ease, transform .18s ease; }
.hero-main-image.hero-image-changing { opacity: .35; transform: scale(.985); }
.hero-food-card { outline: none; border-color: transparent; }
.hero-food-card a:focus-visible { outline: none; }
.feedback-select { max-width: 100%; }
@media (max-width: 480px) {
  .premium-menu-page .menu-intro { display: none; }
  .premium-menu-page .menu-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .premium-menu-page .menu-controls .search-box { flex: 0 1 126px; width: 126px; min-width: 0; height: 34px; margin: 0; padding: 0 8px; }
  .premium-menu-page .menu-controls .search-box svg { width: 16px; height: 16px; }
  .premium-menu-page .menu-controls .search-box input { min-width: 0; font-size: 10px; }
  .premium-menu-page .menu-controls .segmented { flex: 0 0 auto; margin: 0; gap: 3px; padding: 2px; }
  .premium-menu-page .menu-controls .segmented button { width: 28px; min-height: 28px; padding: 0; border-radius: 5px; font-size: 0; }
  .premium-menu-page .menu-controls .segmented button { position: relative; border: 1px solid #d8cfc7; background: #fff; }
  .premium-menu-page .menu-controls .segmented button.selected { border-color: #171514; background: #fff; box-shadow: 0 2px 0 rgba(23,21,20,.16); }
  .premium-menu-page .menu-controls .segmented button::before { display: block; width: 11px; height: 11px; margin: auto; border-radius: 50%; background: #171514; content: ""; }
  .premium-menu-page .menu-controls .segmented button.veg::before { background: #17a957; }
  .premium-menu-page .menu-controls .segmented button.nonveg::before { width: 0; height: 0; border-right: 6px solid transparent; border-bottom: 11px solid #c51f35; border-left: 6px solid transparent; border-radius: 0; background: transparent; }
  .premium-menu-page .menu-controls .segmented button i { display: none; }
  .premium-menu-page .menu-controls .search-box { color: #171514; }
  .premium-menu-page .menu-controls .search-box input { color: #171514; }
  .premium-menu-page .menu-controls .category-chips { flex: 1 0 100%; justify-content: center; }
  .premium-menu-page .menu-controls .custom-craving-banner { flex: 1 0 100%; }
  .premium-menu-page .menu-intro { padding-top: 28px; padding-bottom: 14px; }
  .premium-menu-page .menu-intro h1 { margin-bottom: 8px; font-size: clamp(2.15rem, 10vw, 3rem); line-height: 1.02; }
  .premium-menu-page .menu-intro p:not(.eyebrow) { font-size: 13px; line-height: 1.4; }
  .premium-menu-page .menu-controls { padding-bottom: 0; }
  .premium-menu-page .search-box { height: 46px; margin-bottom: 12px; }
  .premium-menu-page .segmented { margin-bottom: 10px; }
  .premium-menu-page .category-chips { gap: 7px; padding-bottom: 0; }
  .premium-menu-page .category-chips button { min-height: 30px; padding: 0 12px; font-size: 11px; }
  .premium-menu-page .custom-craving-banner { margin-top: 10px; padding: 10px 12px; }
  .premium-menu-page .custom-craving-banner b { font-size: 10px; }
  .premium-menu-page .menu-results { padding-top: 12px; padding-bottom: 30px; }
}
.feedback-select { position: relative; min-height: 43px; }
.feedback-select summary { display: flex; min-height: 43px; align-items: center; justify-content: space-between; padding: 10px 12px; border: 1px solid #ddcfc3; border-radius: 8px; color: var(--ink); background: #fff; font: inherit; cursor: pointer; list-style: none; }
.feedback-select summary::-webkit-details-marker { display: none; }
.feedback-select summary::after { color: var(--heritage-terra); content: "⌄"; font-weight: 900; }
.feedback-select-options { position: absolute; z-index: 5; right: 0; left: 0; display: grid; gap: 3px; margin-top: 5px; padding: 6px; border: 1px solid #ead8cc; border-radius: 10px; background: #fffaf5; box-shadow: 0 10px 24px rgba(92,58,37,.14); }
.feedback-select-options button { padding: 9px 10px; border: 0; border-radius: 6px; color: var(--ink); background: transparent; font: inherit; text-align: left; cursor: pointer; }
.feedback-select-options button:hover, .feedback-select-options button:focus-visible { color: #fff; background: var(--red); outline: none; }

/* Final mobile menu polish: readable controls, balanced cards, clear CTA space. */
@media (max-width: 480px) {
  .premium-menu-page .menu-intro { display: block; max-width: none; padding: 24px 18px 14px; text-align: left; }
  .premium-menu-page .menu-intro .eyebrow { justify-content: flex-start; margin-bottom: 7px; font-size: 9px; }
  .premium-menu-page .menu-intro h1 { margin: 0 0 5px; font-size: 30px; line-height: 1.1; }
  .premium-menu-page .menu-intro .menu-intro-copy { margin: 0; font-size: 12px; line-height: 1.5; }
  .premium-menu-page .menu-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 0 18px 5px; }
  .premium-menu-page .menu-controls .search-box { grid-column: 1 / -1; width: 100%; max-width: none; height: 42px; min-width: 0; margin: 0; padding: 0 12px; border-radius: 11px; box-shadow: none; }
  .premium-menu-page .menu-controls .search-box svg { width: 17px; height: 17px; }
  .premium-menu-page .menu-controls .search-box input { min-width: 0; font-size: 12px; }
  .premium-menu-page .menu-controls .segmented { display: flex; grid-column: 1 / -1; gap: 4px; width: max-content; max-width: 100%; margin: 0; padding: 3px; border: 1px solid #eee4dc; border-radius: 10px; background: #f8f2ec; }
  .premium-menu-page .menu-controls .segmented button { position: static; width: auto; min-height: 30px; padding: 0 11px; border: 0; border-radius: 7px; color: #6f6259; background: transparent; font-size: 11px; font-weight: 650; }
  .premium-menu-page .menu-controls .segmented button::before { content: none; }
  .premium-menu-page .menu-controls .segmented button.selected { border-color: transparent; color: #fff; background: #b94b2d; box-shadow: none; }
  .premium-menu-page .menu-controls .segmented button i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border: 1px solid currentColor; }
  .premium-menu-page .menu-controls .segmented button.veg i { color: #24884d; }
  .premium-menu-page .menu-controls .segmented button.nonveg i { color: #b63838; }
  .premium-menu-page .menu-controls .category-chips { grid-column: 1 / -1; justify-content: flex-start; gap: 7px; margin: 0 -18px; padding: 1px 18px 6px; }
  .premium-menu-page .menu-controls .category-chips button { min-height: 32px; padding: 0 12px; font-size: 11px; }
  .premium-menu-page .menu-results { padding: 10px 16px 116px; }
  .premium-menu-page .results-head { align-items: center; gap: 8px; margin-bottom: 12px; font-size: 11px; }
  .premium-menu-page .results-head .service-copy { gap: 4px; font-size: 9px; }
  .premium-menu-page .results-head .service-copy svg { width: 12px; height: 12px; }
  .premium-menu-page .food-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 11px; }
  .premium-menu-page .food-card { min-width: 0; border-color: #eee4dc; border-radius: 14px; box-shadow: 0 3px 12px rgba(60,34,19,.045); }
  .premium-menu-page .food-card .food-image, .premium-menu-page .food-card.compact .food-image { width: 100%; height: auto; aspect-ratio: 1.12 / 1; }
  .premium-menu-page .food-card .image-badge { top: 8px; left: 8px; padding: 5px 7px; border-radius: 6px; font-size: 9px; }
  .premium-menu-page .food-card .food-content { padding: 10px; }
  .premium-menu-page .food-card .food-pill { gap: 4px; font-size: 9px; }
  .premium-menu-page .food-card .food-pill i { width: 9px; height: 9px; padding: 1px; }
  .premium-menu-page .food-card .food-pill i::after { width: 5px; height: 5px; }
  .premium-menu-page .food-card h3 { margin: 7px 0 8px; font-size: 13px; line-height: 1.3; }
  .premium-menu-page .food-card p { display: none; }
  .premium-menu-page .food-card .card-bottom > strong { font-size: 14px; }
  .premium-menu-page .food-card .round-add { width: 31px; height: 31px; }
  .premium-menu-page .food-card .card-variants { margin-top: 7px; font-size: 9px; line-height: 1.4; }
  .premium-menu-page .custom-craving-banner { display: flex; gap: 9px; margin-top: 20px; padding: 13px; border-radius: 13px; }
  .premium-menu-page .custom-craving-banner b { font-size: 11px; line-height: 1.4; }
  .premium-menu-page .custom-craving-banner > strong { font-size: 0; }
  .mobile-order-bar { right: 14px; bottom: max(12px,env(safe-area-inset-bottom)); left: 14px; min-height: 54px; padding: 7px 8px 7px 13px; border-radius: 14px; }
  .mobile-order-bar a { min-height: 38px; padding: 0 12px; border-radius: 9px; font-size: 9px; }
}

/* Final narrow-screen polish for the landing, contact and about journeys. */
@media (max-width: 560px) {
  .site-header .status-badge {
    min-height: 21px;
    border: 1px solid #b9d8bf;
    border-radius: 999px;
    color: #285c35;
    background: #e9f4e9;
    box-shadow: none;
    font-size: 8px;
    letter-spacing: .04em;
    transform: none;
  }

  .mobile-menu {
    top: 70px;
    right: 10px;
    left: 10px;
    width: auto;
    max-width: none;
    padding: 12px;
    border: 1px solid #eaded3;
    border-radius: 0 0 16px 16px;
    background: #fffaf4;
    box-shadow: 0 18px 32px rgba(57, 37, 23, .14);
  }
  .mobile-menu.open { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .mobile-menu a {
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid #efe5dc;
    border-radius: 10px;
    color: #4e4037;
    background: #fff;
    font-size: 12px;
    font-weight: 650;
    transition: color .18s ease, border-color .18s ease, background .18s ease;
  }
  .mobile-menu a:hover, .mobile-menu a:focus-visible { border-color: #e0bba7; color: #9f3f24; background: #fff4eb; outline: none; }
  .mobile-menu a:last-child { grid-column: 1 / -1; justify-content: space-between; color: #8f3d25; background: #fbf0e7; }

  .hero { display: flex; flex-direction: column; gap: 0; overflow: hidden; }
  .hero-copy { order: 1; padding: 30px 19px 22px; }
  .hero .eyebrow { margin-bottom: 12px; }
  .hero h1 { margin-bottom: 13px; font-size: clamp(2.55rem, 12vw, 3.3rem); line-height: .98; }
  .hero-lead { margin-bottom: 18px; font-size: 14px; line-height: 1.52; }
  .hero-proof { gap: 8px 12px; margin: 0 0 19px; }
  .hero-proof span { padding-left: 8px; }
  .hero-proof b { font-size: 7px; }
  .hero-proof small { font-size: 9px; }
  .hero-visual { order: 2; height: 254px; min-height: 0; padding: 0 20px 16px; overflow: hidden; }
  .hero-circle { top: 0; left: 50%; width: min(88%, 330px); height: 224px; border-radius: 52% 52% 44% 44%; transform: translateX(-50%); }
  .hero-main-image { width: calc(100% - 28px); height: 216px; border-radius: 120px 120px 16px 16px; object-position: center; }
  .floating-card-bottom { right: 23px; bottom: 21px; max-width: calc(100% - 56px); padding: 8px 10px; transform: none; }
  .floating-card-bottom b { font-size: 10px; }
  .floating-card-bottom small { font-size: 8px; }

  .how-section { padding: 48px 18px 58px; }
  .how-section .center-heading { margin-bottom: 20px; text-align: left; }
  .how-section .center-heading .eyebrow { justify-content: flex-start; margin-bottom: 8px; }
  .how-section .center-heading h2 { max-width: 340px; margin: 0; font-size: clamp(1.75rem, 8vw, 2.15rem); line-height: 1.12; }
  .how-section .steps { grid-template-columns: 1fr; gap: 9px; text-align: left; }
  .how-section .steps > div {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
    row-gap: 3px;
    padding: 12px;
    border: 1px solid #e9ddd1;
    border-radius: 13px;
    background: rgba(255, 253, 249, .7);
  }
  .how-section .steps > div:not(:last-child)::after { content: none; }
  .how-section .steps span { grid-column: 1; grid-row: 1 / span 2; width: 40px; height: 40px; margin: 0; font-size: 11px; }
  .how-section .steps h3 { grid-column: 2; margin: 0; font-size: 13px; }
  .how-section .steps p { grid-column: 2; font-size: 11px; line-height: 1.45; }

  .contact-hero { grid-template-columns: 1fr; gap: 16px; padding: 34px 0 24px; }
  .contact-hero-copy h1 { max-width: 12ch; margin-bottom: 12px; font-size: clamp(2.45rem, 11vw, 3.25rem); line-height: .99; }
  .contact-hero-copy > p:not(.eyebrow) { margin-bottom: 18px; font-size: 13px; line-height: 1.55; }
  .contact-hero-copy .hero-actions { grid-template-columns: 1fr 1fr; gap: 8px; }
  .contact-hero-copy .hero-actions .btn { min-width: 0; min-height: 44px; padding: 0 9px; font-size: 10px; }
  .contact-hero-stamp {
    display: flex;
    width: auto;
    height: auto;
    min-height: 42px;
    align-items: center;
    justify-self: start;
    gap: 8px;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid #e7c9b4;
    border-radius: 999px;
    color: #8f3e27;
    background: #fff6ed;
    box-shadow: none;
    text-align: left;
    transform: none;
  }
  .contact-hero-stamp span { font-size: 8px; letter-spacing: .12em; }
  .contact-hero-stamp b { margin: 0; font: 700 12px/1.1 "Playfair Display", Georgia, serif; }
  .contact-hero-stamp b br { display: none; }
  .contact-hero-stamp small { padding-left: 8px; border-left: 1px solid #e7c9b4; font-size: 7px; letter-spacing: .1em; }
  .contact-ways { gap: 10px; }
  .contact-card { min-height: 0; padding: 17px; border-radius: 15px; }
  .contact-card > span { width: 36px; height: 36px; margin-bottom: 13px; }
  .contact-card h2 { font-size: 20px; }
  .contact-card small { font-size: 11px; }
  .contact-card strong { padding-top: 15px; }
  .contact-card-primary { border-color: transparent; color: #fff8ef; background: linear-gradient(135deg, #a94325, #c85a33); }
  .contact-card-primary > p, .contact-card-primary small { color: #ffe8d8; }
  .contact-card-primary h2, .contact-card-primary strong { color: #fffaf4; }
  .contact-card-primary > span { color: #9f4427; background: #ffdfbd; }
  .contact-promise { gap: 18px; margin-top: 30px; padding: 20px 17px; border-radius: 16px; }
  .contact-promise h2 { margin-bottom: 10px; font-size: 1.8rem; line-height: 1.1; }
  .contact-promise p:not(.eyebrow) { font-size: 12px; }
  .premium-contact-page .contact-note { gap: 12px; margin-top: 18px; padding: 18px; }
  .premium-contact-page .contact-note h2 { font-size: 19px; }
  .premium-contact-page .contact-note p { font-size: 12px; }

  .page-shell .page-intro { padding: 42px 18px 0; }
  .page-shell .page-intro h1 { margin-bottom: 11px; font-size: clamp(2.2rem, 10vw, 3rem); line-height: 1.04; }
  .page-shell .page-intro p:not(.eyebrow) { font-size: 13px; line-height: 1.55; }
  .page-shell .contact-note {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 10px 12px;
    margin: 22px 16px 36px;
    padding: 18px;
    border-radius: 16px;
  }
  .page-shell .contact-note > span { width: 36px; height: 36px; }
  .page-shell .contact-note h2 { margin: 0 0 5px; font-size: 19px; line-height: 1.15; }
  .page-shell .contact-note p { font-size: 12px; line-height: 1.5; }
  .page-shell .contact-note .btn { grid-column: 1 / -1; width: 100%; min-height: 43px; justify-content: center; margin-top: 2px; }

  .ingredient-promise-section { padding-top: 38px; padding-bottom: 52px; }
  .ingredient-promise-section .promise-heading { margin-bottom: 0; }
  .ingredient-promise-section .ingredient-promise-grid { margin-top: 20px; }

  .compact-footer { padding: 17px 17px 12px !important; }
  .compact-footer-brand { align-items: center; flex-wrap: wrap; gap: 8px 12px; padding-bottom: 11px; }
  .compact-footer-brand > span { max-width: none; flex: 1 1 100%; font-size: 9px; line-height: 1.4; text-align: left; }
  .compact-footer-nav { align-items: flex-start; flex-direction: column; gap: 10px; padding: 12px 0; }
  .compact-footer-nav nav { justify-content: flex-start; gap: 8px 14px; }
  .compact-footer-nav nav a { font-size: 9px; letter-spacing: .05em; }
  .compact-footer-call { font-size: 10px; }
  .compact-footer-meta { align-items: flex-start; flex-direction: column; gap: 8px; padding-top: 10px; font-size: 8px; }
  .compact-footer-meta > span:last-child { flex-wrap: wrap; gap: 7px 12px; }
}

/* Shared storefront signature: a restrained printed-business-stamp footer. */
.compact-footer {
  padding: 14px clamp(16px, 7vw, 100px) 10px !important;
  border-top: 1px solid #cdb6a5;
  color: #675247;
  background: #f7f1e8 !important;
}
.compact-footer-line { max-width: 1120px; }
.compact-footer-brand { gap: 14px; padding-bottom: 9px; border-color: #dccbbc; }
.compact-footer-brand .footer-wordmark {
  padding: 4px 7px;
  border: 3px double #ad5337;
  border-radius: 2px;
  color: #392920;
  text-align: center;
}
.compact-footer-brand .footer-wordmark b { font-size: 14px; }
.compact-footer-brand .footer-wordmark small { font-size: 6px; letter-spacing: .2em; }
.compact-footer-brand > span { display: flex; min-width: 0; align-items: baseline; justify-content: flex-end; gap: 6px; color: #745e50; font-size: 9px; font-style: normal; text-align: right; }
.compact-footer-brand > span b { font-size: inherit; font-weight: 600; }
.compact-footer-brand > span i { color: #ad5337; font-size: 9px; font-style: normal; }
.compact-footer-brand > span small { color: #8a7264; font-size: 8px; white-space: nowrap; }
.compact-footer-nav { gap: 12px; border-color: #dccbbc; }
.compact-footer-nav nav { gap: 13px; }
.compact-footer-nav nav a { font-size: 8px; letter-spacing: .07em; }
.compact-footer-call { font-size: 9px; }
.compact-footer-meta { justify-content: flex-end; gap: 8px 13px; color: #806b5f; }
.compact-footer-meta > span:first-child { white-space: nowrap; }
.compact-footer-meta > span:last-child { justify-content: flex-end; gap: 11px; }
.compact-footer-meta a { color: #70594c; }

@media (max-width: 560px) {
  .compact-footer { padding: 13px 14px 10px !important; }
  .compact-footer-brand { flex-wrap: nowrap; align-items: center; gap: 8px; padding-bottom: 8px; }
  .compact-footer-brand .footer-wordmark { padding: 4px 6px; }
  .compact-footer-brand .footer-wordmark b { font-size: 12px; }
  .compact-footer-brand .footer-wordmark small { font-size: 5.5px; }
  .compact-footer-brand > span { flex: 1 1 auto; flex-wrap: wrap; gap: 2px 4px; font-size: 7.5px; line-height: 1.25; }
  .compact-footer-brand > span i { font-size: 7px; }
  .compact-footer-brand > span small { font-size: 7px; }
  .compact-footer-nav { flex-direction: row; align-items: center; justify-content: space-between; gap: 6px; padding: 8px 0; }
  .compact-footer-nav nav { min-width: 0; flex: 1 1 auto; flex-wrap: wrap; gap: 5px 9px; }
  .compact-footer-nav nav a { font-size: 7px; letter-spacing: .03em; }
  .compact-footer-call { flex: 0 0 auto; gap: 3px; font-size: 8px; }
  .compact-footer-call svg { width: 12px; height: 12px; }
  .compact-footer-meta { flex-direction: row; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px 9px; padding-top: 8px; font-size: 7px; }
  .compact-footer-meta > span:last-child { flex-wrap: wrap; gap: 7px; }
  .compact-footer-meta a { white-space: nowrap; }
}

/* Enlarge the marked contents while retaining the existing footer row footprint. */
@media (max-width: 560px) {
  .compact-footer-brand .footer-wordmark { width: 74px; height: 32px; flex: 0 0 74px; place-content: center; padding: 2px 4px; }
  .compact-footer-brand .footer-wordmark b { font-size: 14px; line-height: 1; }
  .compact-footer-brand .footer-wordmark small { font-size: 6px; line-height: 1; }
  .compact-footer-brand > span { gap: 3px 5px; font-size: 9px; line-height: 1.2; }
  .compact-footer-brand > span i { font-size: 8px; }
  .compact-footer-brand > span small { font-size: 8px; }
  .compact-footer-meta { min-height: 0; gap: 5px 9px; padding-top: 8px; font-size: 8.5px; }
  .compact-footer-meta > span:last-child { gap: 8px; }
}

/* Premium black-and-gold finish for the shared storefront footer. */
.compact-footer {
  border-top-color: rgba(207, 174, 91, .72);
  color: #e9dfc4;
  background: #11110f !important;
  box-shadow: inset 0 1px 0 rgba(237, 208, 132, .08);
}
.compact-footer-brand { border-bottom-color: rgba(199, 168, 91, .28); }
.compact-footer-brand .footer-wordmark {
  border-color: #c9a64e;
  color: #f2dfaa;
  background: linear-gradient(145deg, #1c1b17, #11110f);
}
.compact-footer-brand .footer-wordmark b { color: #f2dfaa; }
.compact-footer-brand .footer-wordmark small { color: #c9a64e; }
.compact-footer-brand > span { color: #e4d8b8; }
.compact-footer-brand > span i { color: #d3b45f; }
.compact-footer-brand > span small { color: #cfb76f; }
.compact-footer-nav { border-bottom-color: rgba(199, 168, 91, .28); }
.compact-footer a { color: #dfc779; }
.compact-footer-nav nav a { color: #ddc779; }
.compact-footer-nav nav a:hover, .compact-footer-call:hover, .compact-footer-meta a:hover { color: #fff0b0 !important; }
.compact-footer-call { color: #e4c568 !important; }
.compact-footer-meta { color: #bbaa78; }
.compact-footer-meta a { color: #d9c27a; }
.compact-footer a:focus-visible { outline: 2px solid #e0c36f; outline-offset: 3px; }

/* Improve stamp and fine-print legibility without enlarging footer rows. */
.compact-footer-brand .footer-wordmark {
  border-color: #d7b253;
  color: #17140c;
  background: linear-gradient(135deg, #f5df99 0%, #dec06e 52%, #c09a43 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 248, 219, .65);
}
.compact-footer-brand .footer-wordmark b { color: #17140c; }
.compact-footer-brand .footer-wordmark small { color: #4a3915; }

@media (max-width: 560px) {
  .compact-footer-brand > span { font-size: 9.5px; color: #f4e7c3; }
  .compact-footer-brand > span b { font-weight: 650; }
  .compact-footer-brand > span small { color: #f1d273; font-size: 8.5px; }
  .compact-footer-brand > span i { color: #f4d679; }
  .compact-footer-nav nav a { color: #f0dda4; font-size: 8px; }
  .compact-footer-call { color: #f2cf6c !important; font-size: 8.5px; }
  .compact-footer-meta { color: #f2dda0; font-size: 9px; }
  .compact-footer-meta > span:first-child { color: #f2dda0; font-weight: 600; }
  .compact-footer-meta a { color: #f5d676; }
}

/* Google Sans footer with centered navigation and left-aligned legal line. */
.compact-footer,
.compact-footer * { font-family: "Google Sans Flex", "DM Sans", Arial, sans-serif !important; }
.compact-footer-nav { position: relative; justify-content: center; }
.compact-footer-nav nav {
  position: absolute;
  top: 50%;
  left: 50%;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 15px;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}
.compact-footer-call { margin-left: auto; }
.compact-footer-meta { justify-content: flex-start; }
.compact-footer-meta > span:last-child { justify-content: flex-start; }

@media (max-width: 560px) {
  .compact-footer-nav nav { gap: 6px; }
  .compact-footer-nav nav a { font-size: 7.5px; letter-spacing: .02em; }
  .compact-footer-meta { flex-direction: row; align-items: center; justify-content: flex-start; }
  .compact-footer-meta > span:last-child { justify-content: flex-start; }
}

/* Keep the footer brand and all page links on the left. */
.compact-footer-nav { justify-content: flex-start; }
.compact-footer-nav nav {
  position: static;
  width: auto;
  max-width: none;
  flex: 1 1 auto;
  justify-content: flex-start;
  flex-wrap: wrap;
  transform: none;
}
@media (max-width: 560px) {
  .compact-footer-nav nav { position: static; flex: 1 1 auto; justify-content: flex-start; transform: none; }
}

/* Wordmark-led identity: gentle cooking steam rises directly from ASHU'S. */
.site-header .brand { gap: 10px; }
.site-header .brand-copy { align-items: center; gap: 4px; overflow: visible; text-align: center; }
.site-header .brand-copy .brand-name {
  position: relative;
  display: inline-block;
  overflow: visible;
  color: #000;
  font: 700 16px/1 "Playfair Display", Georgia, serif;
  letter-spacing: .055em;
}
.site-header .brand-copy small {
  display: block;
  overflow: visible;
  margin-top: 0;
  color: #000;
  font-family: "Oldenburg", Georgia, serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1;
}
.brand-steam { position: absolute; top: -23px; left: 50%; width: 32px; height: 24px; pointer-events: none; transform: translateX(-50%); }
.brand-steam i {
  position: absolute;
  bottom: 0;
  width: 7px;
  height: 17px;
  border-left: 1.7px solid rgba(25, 22, 20, .68);
  border-radius: 55% 45% 60% 45%;
  filter: blur(.25px);
  opacity: 0;
  animation: brandSteamRise 2.5s ease-in-out infinite;
}
.brand-steam i:nth-child(1) { left: 2px; height: 17px; animation-delay: 0s; }
.brand-steam i:nth-child(2) { left: 9px; height: 21px; animation-delay: .62s; }
.brand-steam i:nth-child(3) { left: 17px; height: 16px; animation-delay: 1.24s; }
.brand-steam i:nth-child(4) { left: 24px; height: 19px; animation-delay: 1.86s; }
@keyframes brandSteamRise {
  0% { transform: translate3d(0, 6px, 0) scaleY(.65) skewX(-13deg); opacity: 0; }
  22% { opacity: .92; }
  68% { opacity: .6; }
  100% { transform: translate3d(4px, -9px, 0) scaleY(1.2) skewX(14deg); opacity: 0; }
}
@media (max-width: 900px) {
  .site-header .brand-copy .brand-name { font-size: 20.5px; }
  .site-header .brand-copy small { font-size: 12px; letter-spacing: .055em; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-steam i { animation: none; opacity: .42; }
}

/* On mobile, center the wordmark and OPEN NOW together in the marked header area. */
@media (max-width: 850px) {
  .site-header > .brand {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 31;
    display: inline-flex;
    width: max-content;
    min-width: 0;
    flex: 0 0 auto;
    gap: 7px;
    margin: 0;
    transform: translate(-50%, calc(-50% + 14px));
  }
  .site-header > .brand .brand-copy { flex: 0 0 auto; }
  .site-header > .brand .status-badge { margin-left: 0; }
  .site-header > .brand .brand-location { display: none; }
  .site-header .header-actions { position: relative; z-index: 32; margin-left: auto; }
}

/* Compact, illustrated kitchen standards: the claims stay live, readable text. */
.hero-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: min(100%, 640px);
  margin: 0 0 22px;
  padding: 8px 0;
  overflow: hidden;
  border: 1px solid #e7d9cb;
  border-radius: 12px;
  background: rgba(255, 251, 246, .78);
}
.hero-claim {
  display: flex;
  min-width: 0;
  min-height: 74px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 4px 10px;
  text-align: center;
}
.hero-claim + .hero-claim { border-left: 1px solid #eadfd4; }
.hero-claim .claim-illustration { display: block; width: 29px; height: 29px; flex: 0 0 29px; overflow: visible; color: #72543d; }
.hero-claim .claim-illustration * { fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.hero-claim .claim-illustration .claim-leaf { color: #68765b; }
.hero-claim .claim-illustration .claim-accent { color: #b95a3b; stroke-width: 1.45; }
.hero-claim .claim-illustration .claim-oil { fill: rgba(204, 166, 98, .2); color: #a67942; }
.hero-claim b {
  display: block;
  color: #493a2f;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .045em;
  line-height: 1.25;
  overflow-wrap: normal;
}
@media (max-width: 850px) {
  .hero-proof { width: 100%; margin-bottom: 18px; padding: 6px 0; }
  .hero-claim { min-height: 72px; gap: 4px; padding-right: 6px; padding-left: 6px; }
  .hero-claim .claim-illustration { width: 30px; height: 30px; flex-basis: 30px; }
  .hero-claim b { font-size: clamp(8px, 2.35vw, 9px); letter-spacing: .018em; }
}
@media (max-width: 350px) {
  .hero-claim { padding-right: 4px; padding-left: 4px; }
  .hero-claim b { font-size: 7.8px; }
}

/* Larger centered wordmark lockup with the Oldenburg descriptor. */
.site-header > .brand { gap: 12px; }
.site-header .brand-copy .brand-name { color: #000; font-size: 19px; letter-spacing: .055em; }
.site-header .brand-copy small {
  color: #000;
  font-family: "Oldenburg", Georgia, serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1;
}
.site-header .status-badge {
  min-height: 27px;
  padding: 4px 9px;
  font-size: 9px;
  letter-spacing: .045em;
}
@media (max-width: 850px) {
  .site-header > .brand { gap: 7px; }
  .site-header .brand-copy .brand-name { font-size: 20px; }
  .site-header .brand-copy small { font-size: 11.5px; letter-spacing: .045em; }
  .site-header .status-badge { min-height: 25px; padding: 3px 7px; font-size: 8px; }
  .site-header .status-badge.open { color: #000; }
}
@media (max-width: 380px) {
  .site-header > .brand { gap: 5px; }
  .site-header .brand-copy .brand-name { font-size: 18.5px; }
  .site-header .brand-copy small { font-size: 10.5px; letter-spacing: .035em; }
  .site-header .status-badge { min-height: 23px; padding: 2px 6px; font-size: 7.5px; }
}
@media (max-width: 350px) {
  .site-header > .brand { gap: 4px; }
  .site-header .brand-copy .brand-name { font-size: 17px; }
  .site-header .brand-copy small { font-size: 9.5px; letter-spacing: .025em; }
  .site-header .status-badge { min-height: 22px; padding: 2px 6px; font-size: 7px; }
}
