/* Matt's Grab & Go — own branding (warm deli palette, distinct from Just Baked) */
:root{
  --bg:#faf7f2;
  --panel:#ffffff;
  --ink:#3a2e1f;
  --muted:#8a7a63;
  --accent:#c8551e;      /* warm burnt orange */
  --accent-2:#7a4a1f;    /* deep brown */
  --green:#2d7a3a;
  --red:#b23a2e;
  --gold:#d9a441;
  --border:#e7dcc9;
  --shadow:0 2px 10px rgba(60,40,10,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-text-size-adjust:100%}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}

/* Topbar */
.topbar{background:#2b1e12;color:#fff;position:sticky;top:0;z-index:50}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;flex-wrap:wrap;gap:8px}
.brand{color:#fff;font-weight:800;font-size:1.1rem;display:inline-flex;align-items:center;gap:10px;min-height:44px}
.brand-logo{height:30px;width:auto;display:inline-block;border-radius:6px}
.brand:hover{text-decoration:none}
.nav-toggle{display:none;background:#3a2917;color:#fff;border:1px solid #554027;border-radius:8px;width:44px;height:44px;font-size:1.4rem;cursor:pointer}
.navlinks{display:flex;gap:18px;flex-wrap:wrap}
.navlinks a{color:#f0e3cf;font-weight:600;display:inline-block;padding:8px 0;min-height:44px;line-height:44px}
.navlinks a:hover{color:#fff;text-decoration:none}

/* Hero */
.hero{background:linear-gradient(135deg,#c8551e,#7a4a1f);color:#fff;padding:52px 0;text-align:center}
.hero-mini{padding:24px 0}
.hero h1{margin:0 0 6px;font-size:clamp(1.6rem,5vw,2.4rem)}
.hero .sub{margin:0;font-size:clamp(.95rem,2.5vw,1.05rem);color:#ffe9cf;opacity:.95}
.main{padding:26px 0 60px}

/* Flash */
.flash-area{margin-top:-16px}
.flash{padding:12px 16px;border-radius:8px;margin:12px 0;font-weight:600}
.flash.success{background:#e5f4e6;border:1px solid #b9dcb9;color:#2a5f2a}
.flash.error{background:#fbe8e6;border:1px solid #e8b4ae;color:#8c2b20}
.flash.info{background:#eef3fa;border:1px solid #c9d8ea;color:#2b4b73}
.flash.warning{background:#fff4dd;border:1px solid #e8d3a1;color:#7a5a1a}

/* Buttons — 44px tap targets */
.btn{display:inline-block;background:var(--accent);color:#fff;border:none;padding:13px 22px;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;text-align:center}
.btn:hover{background:var(--accent-2);text-decoration:none}
.btn.secondary{background:#6b5b43}
.btn.secondary:hover{background:#52442f}
.btn.ghost{background:transparent;border:2px solid var(--accent);color:var(--accent)}
.btn.ghost:hover{background:var(--accent);color:#fff}
.btn.sm{padding:10px 14px;font-size:.86rem;min-height:44px}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* Product grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;box-shadow:var(--shadow);position:relative;transition:transform .08s}
.card:hover{transform:translateY(-2px)}
.card h3{margin:0 0 4px;font-size:1.02rem}
.card .desc{color:var(--muted);font-size:.86rem;flex:1;margin:0 0 10px}
.card .price-row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}
.card .price{font-weight:800;font-size:1.05rem;color:var(--accent-2)}
.badge{position:absolute;top:10px;right:10px;background:var(--gold);color:#5a4300;font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:20px}
.badge.out{background:var(--red);color:#fff}
.badge.low{background:#f4c542;color:#5a4300}
.stock-line{font-size:.8rem;color:var(--muted);margin-top:6px}
.pimg{height:120px;overflow:hidden;border-radius:10px;background:#f3ecdd;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.pimg img{width:100%;height:100%;object-fit:cover}
.pimg.placeholder{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;text-align:center;padding:8px}
.pos-item .thumb{width:100%;height:70px;object-fit:cover;border-radius:8px;margin-bottom:8px;background:#f3ecdd}

/* Category sections */
.section-heading{margin:30px 0 4px;font-size:1.4rem;color:var(--accent-2);border-bottom:3px solid var(--accent);padding-bottom:6px}
.sub-heading{margin:18px 0 10px;font-size:1.05rem;color:var(--ink)}

/* Forms */
label{display:block;font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:16px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.check-row{display:flex;align-items:center;gap:10px;margin:8px 0}
.check-row input{width:auto}
.check-row label{margin:0}

/* Tables */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}
th{background:#f3ecdd;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-2)}
tr:last-child td{border-bottom:none}

/* POS */
.pos-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.pos-item{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px;text-align:center;cursor:pointer;box-shadow:var(--shadow);user-select:none;min-height:70px}
.pos-item:hover{border-color:var(--accent);transform:translateY(-2px)}
.pos-item .n{font-weight:700;font-size:.95rem}
.pos-item .p{color:var(--accent-2);font-weight:800}
.pos-item .s{font-size:.75rem;color:var(--muted)}
.pos-item.disabled{opacity:.45;cursor:not-allowed}
.pos-cart{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:var(--shadow);position:sticky;top:72px;height:fit-content}
.pos-cart h2{margin-top:0}
.qty-ctl{display:flex;align-items:center;gap:8px;margin:8px 0}
.qty-ctl button{width:44px;height:44px;border-radius:8px;border:1px solid var(--border);background:#f7f1e5;font-size:1.2rem;cursor:pointer}
.qty-ctl .q{font-weight:800;min-width:30px;text-align:center}

/* Status pill */
.pill{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:700}
.pill.pending{background:#fdf1d3;color:#8a6d18}
.pill.paid{background:#dceffc;color:#1d5b8a}
.pill.made{background:#e7e3fb;color:#5b4a8a}
.pill.ready{background:#d9f2d9;color:#26702a}
.pill.completed{background:#e2efe2;color:#26702a}
.pill.cancelled{background:#f4dcdc;color:#a33a30}

/* Misc */
.muted{color:var(--muted)}
.center{text-align:center}
.stack{margin-top:20px}
.fine{font-size:.8rem;color:var(--muted);text-align:center;margin-top:24px}
.site-footer{background:#241a10;color:#d9c8ad;padding:32px 0;margin-top:40px}
.site-footer .cols{display:flex;gap:32px;flex-wrap:wrap;justify-content:space-between}
.site-footer h4{color:#fff;margin:0 0 6px}
.site-footer a{color:#f0c98a}

/* Mobile-first responsive */
@media(max-width:720px){
  .nav-toggle{display:block}
  .navlinks{display:none;width:100%;flex-direction:column;gap:2px;padding:4px 0 10px}
  .navlinks.open{display:flex}
  .navlinks a{padding:10px 4px;min-height:44px;line-height:44px;border-bottom:1px solid #443321}
  .navlinks a:last-child{border-bottom:none}
  .pos-layout{grid-template-columns:1fr}
  .pos-cart{position:static}
  .grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .hero{padding:38px 0}
  .main{padding:20px 0 50px}
}
@media(max-width:520px){
  .grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}
  .btn{padding:12px 16px}
}

/* Reduced motion / accessibility */
@media (prefers-reduced-motion: reduce){
  *{transition:none!important;animation:none!important}
  .card:hover,.pos-item:hover{transform:none}
}

/* Low-contrast fallback for placeholder text */
.pimg.placeholder,.stock-line,.muted{color:#7a6a55}
