:root{--bg: #fdf9f4;--surface: #ffffff;--ink: #1f1a17;--ink-soft: #6b5e54;--line: #ece4da;--primary: #b3461b;--primary-ink: #ffffff;--primary-soft: #fbe5d6;--accent: #2f5d3a;--danger: #b3261e;--radius: 14px;--shadow: 0 6px 20px -8px rgba(63, 34, 14, .18);--maxw: 1100px;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:20}.site-header-inner{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}.brand{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.4rem;color:var(--ink)}.brand a{color:inherit;text-decoration:none}.cart-pill{background:var(--ink);color:#fff;border:none;padding:.55rem 1rem;border-radius:999px;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.5rem}.cart-pill:disabled{opacity:.45;cursor:not-allowed}.hero{padding:2.5rem 0 1.5rem}.hero h1{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(2rem,5vw,3rem);margin:0 0 .5rem}.hero p{color:var(--ink-soft);margin:0 0 1.5rem;max-width:580px;line-height:1.55}.category-section{margin-bottom:1.75rem}.category-section h2{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.25rem;margin:0 0 .65rem;border-bottom:1px solid var(--line);padding-bottom:.4rem}.menu-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.menu-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.55rem;transition:box-shadow .15s,transform .15s,border-color .15s}.menu-card:hover{box-shadow:var(--shadow);transform:translateY(-1px);border-color:#ddd1c2}.menu-card-top{display:flex;gap:.65rem;flex:1;min-height:0}.menu-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--primary-soft);flex-shrink:0;border:1px solid var(--line)}.menu-thumb--placeholder{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--ink-soft)}.menu-card-body{flex:1;min-height:0}.menu-card h3{margin:0 0 .15rem;font-size:.97rem;line-height:1.25;font-weight:600}.menu-card .desc{color:var(--ink-soft);font-size:.78rem;line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-card .row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.menu-card .price{font-weight:700;font-size:.95rem;white-space:nowrap}.menu-card--unavailable{opacity:.65}.menu-card--unavailable .menu-thumb{filter:grayscale(.6)}.sold-out-note{margin:.25rem 0 0;font-size:.7rem;font-weight:600;color:var(--danger);text-transform:uppercase;letter-spacing:.04em}.menu-card .price-prefix{font-weight:500;font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-right:.15rem}.add-btn{background:var(--primary);color:var(--primary-ink);border:none;padding:.35rem .75rem;border-radius:6px;font-weight:600;font-size:.82rem;min-height:32px;white-space:nowrap}.add-btn:hover{background:#97391a}.add-btn:disabled{background:#cfc6bd;color:#fff;cursor:not-allowed}.qty-pill{display:inline-flex;align-items:center;gap:.55rem;background:var(--primary-soft);border-radius:999px;padding:.25rem}.qty-pill button{width:28px;height:28px;border-radius:999px;border:none;background:var(--surface);font-weight:700;color:var(--primary)}.qty-pill button:hover{background:#fff}.qty-pill .qty{min-width:18px;text-align:center;font-weight:600}.cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c0666;z-index:50;display:flex;justify-content:flex-end}.cart-drawer{background:var(--surface);width:min(440px,100%);height:100%;padding:1.25rem;display:flex;flex-direction:column;box-shadow:-10px 0 30px #00000026;overflow-y:auto}.cart-drawer header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cart-drawer h2{font-family:Fraunces,Georgia,serif;margin:0;font-size:1.4rem}.icon-btn{background:transparent;border:none;font-size:1.3rem;color:var(--ink-soft)}.cart-line{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.cart-line .name{font-weight:600}.cart-line .meta{color:var(--ink-soft);font-size:.85rem}.cart-totals{padding:1rem 0;border-top:2px solid var(--ink);margin-top:auto}.cart-totals .total-row{display:flex;justify-content:space-between;font-size:1.15rem;font-weight:700}.checkout-btn{width:100%;background:var(--primary);color:#fff;border:none;padding:1rem;font-size:1.05rem;font-weight:600;border-radius:10px;margin-top:1rem}.checkout-btn:disabled{background:#cfc6bd;cursor:not-allowed}.form-grid{display:grid;gap:1rem}.field label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.92rem}.field input,.field textarea,.field select{width:100%;padding:.7rem .85rem;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:.95rem;background:#fff;color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:transparent}.field .hint{font-size:.8rem;color:var(--ink-soft);margin-top:.3rem}.error-msg{background:#fce8e6;border:1px solid #f3b9b3;color:#7a1b15;padding:.75rem 1rem;border-radius:8px;margin:1rem 0;font-size:.9rem}.confirm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;max-width:560px;margin:2rem auto;text-align:center;box-shadow:var(--shadow)}.confirm-card .check{width:64px;height:64px;border-radius:999px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:1rem}.order-num{font-family:Fraunces,Georgia,serif;font-size:1.8rem;margin:.5rem 0}.status-pill{display:inline-block;padding:.35rem .9rem;border-radius:999px;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.status-queued{background:#fff3cd;color:#6b4c00}.status-confirmed{background:#d8eaff;color:#163d6c}.status-in_prep{background:#ffe0b3;color:#6e3a00}.status-ready{background:#cdebd8;color:#1f5a36}.status-picked_up{background:#e6e6e6;color:#444}.status-cancelled{background:#f3d4d2;color:#7a1b15}.empty{text-align:center;color:var(--ink-soft);padding:3rem 1rem}@media (max-width: 600px){.hero{padding:1.25rem 0 .75rem}.menu-grid{grid-template-columns:repeat(2,1fr);gap:.55rem}.menu-card{padding:.6rem .65rem;border-radius:9px}.menu-card h3{font-size:.9rem}.menu-card .desc{font-size:.74rem;-webkit-line-clamp:2}.menu-card .price{font-size:.88rem}.add-btn{padding:.3rem .6rem;font-size:.78rem;min-height:30px}.category-section h2{font-size:1.1rem}}@media (max-width: 360px){.menu-grid{grid-template-columns:1fr}}.item-config-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1414148c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.item-config-panel{background:var(--surface, #fff);width:100%;max-width:540px;border-radius:16px;max-height:min(92vh,800px);display:flex;flex-direction:column;box-shadow:0 20px 60px -10px #00000059}@media (max-width: 600px){.item-config-overlay{padding:0;align-items:flex-end}.item-config-panel{border-radius:16px 16px 0 0;max-height:92vh}}.price-tiers{list-style:none;padding:0;margin:.4rem 0 0;font-size:.8rem;color:var(--ink-2, #475569)}.price-tiers li{display:inline-flex;align-items:baseline;gap:.25rem}.price-tiers--inline li:not(:last-child):after{content:"·";margin:0 .4rem;opacity:.5}.price-tiers--stacked{display:flex;flex-direction:column;gap:.15rem}.price-tiers--stacked li{display:flex;justify-content:space-between;gap:.75rem}.price-tiers .tier-name{color:var(--ink-2, #475569)}.price-tiers .tier-price{color:var(--ink, #0f172a);font-weight:600}.hl{margin-top:.4rem;display:flex;flex-direction:column;gap:.25rem}.hl-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-2, #475569);line-height:1.35}.hl-label{font-weight:600;color:var(--ink-2, #475569)}.hl-label--block{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;opacity:.75;margin-bottom:.15rem}.hl-value{color:var(--ink, #0f172a)}.hl-row--parens{font-style:italic;opacity:.85}.hl-chips{display:flex;flex-wrap:wrap;gap:.3rem}.hl-chip{display:inline-block;padding:.15rem .55rem;border-radius:9999px;background:hsl(var(--accent, 14 65% 55%) / .12);color:var(--ink, #0f172a);font-size:.75rem;font-weight:500;border:1px solid hsl(var(--accent, 14 65% 55%) / .25)}.hl-chip--more{opacity:.7}.hl-badge{display:inline-block;padding:.2rem .6rem;border-radius:6px;background:var(--muted, #f1f5f9);font-size:.75rem;font-weight:600}.price-extras{margin-top:.3rem;display:flex;flex-wrap:wrap;gap:.4rem}.price-extra{font-size:.78rem;color:var(--ink-2, #475569);font-style:italic}.price-extra:before{content:"· ";opacity:.5;margin-right:.15rem}.price-extras .price-extra:first-child:before{content:"";margin-right:0}
