*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --red:#c0392b; --red-lt:#e74c3c; --red-dk:#922b21;
  --cream:#fdf6ec; --warm:#f5e6cc; --tan:#e8d5b0;
  --brown:#5c3317; --smoke:#2c1f14; --char:#1a110a;
  --muted:#8c6e54; --border:rgba(92,51,23,0.14);
}

/* ── BASE: mobile-first, no overflow tricks ── */
body { font-family:'Nunito Sans',sans-serif; background:var(--cream); color:var(--smoke); min-height:100vh; display:flex; flex-direction:column; }
.views-wrap { flex:1; display:flex; flex-direction:column; }
.view { display:none; flex:1; flex-direction:column; }
.view.active { display:flex; }

/* ── NAV ── */
nav { background:var(--smoke); height:56px; padding:0 1rem; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:100; flex-shrink:0; }
.logo { font-family:'Abril Fatface',serif; font-size:1.2rem; color:var(--cream); cursor:pointer; }
.logo sup { font-family:'Nunito Sans',sans-serif; font-size:0.45rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--red-lt); vertical-align:super; margin-left:3px; }
.nav-right { display:flex; align-items:center; gap:0.6rem; }
.nav-link { color:rgba(253,246,236,0.65); font-size:0.75rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; text-decoration:none; transition:color 0.15s; display:none; }
.nav-link:hover { color:var(--cream); }
.lang-toggle { display:flex; align-items:center; background:rgba(255,255,255,0.08); border-radius:20px; overflow:hidden; border:1px solid rgba(255,255,255,0.12); }
.lang-btn { padding:0.28rem 0.6rem; font-family:'Nunito',sans-serif; font-size:0.68rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; background:transparent; border:none; color:rgba(253,246,236,0.45); cursor:pointer; transition:all 0.15s; border-radius:20px; }
.lang-btn.active { background:var(--red); color:#fff; }
.cart-trigger { background:var(--red); color:#fff; border:none; border-radius:5px; padding:0.4rem 0.85rem; font-family:'Nunito',sans-serif; font-size:0.78rem; font-weight:800; cursor:pointer; display:flex; align-items:center; gap:6px; transition:background 0.15s; }
.cart-trigger:hover { background:var(--red-lt); }
.cart-badge { background:#fff; color:var(--red); border-radius:50%; width:17px; height:17px; font-size:0.6rem; font-weight:900; display:flex; align-items:center; justify-content:center; }

/* ── HERO (mobile: stacked, scrollable) ── */
.hero { background:var(--smoke); position:relative; overflow:hidden; flex:1; display:flex; flex-direction:column; }
.hero-checker { position:absolute; inset:0; background-image:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,0.025) 39px,rgba(255,255,255,0.025) 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(255,255,255,0.025) 39px,rgba(255,255,255,0.025) 40px); pointer-events:none; }
.hero-inner { max-width:1100px; margin:0 auto; display:flex; flex-direction:column; gap:1.5rem; align-items:stretch; padding:2rem 1.25rem 1.5rem; position:relative; width:100%; }
.hero-left { display:flex; flex-direction:column; }
.hero-tag { display:inline-block; background:var(--red); color:#fff; font-family:'Nunito',sans-serif; font-size:0.62rem; font-weight:900; letter-spacing:0.18em; text-transform:uppercase; padding:4px 10px; border-radius:3px; margin-bottom:0.9rem; align-self:flex-start; }
.hero h1 { font-family:'Abril Fatface',serif; font-size:clamp(2.4rem,10vw,5rem); color:var(--cream); line-height:0.95; margin-bottom:0.65rem; }
.hero h1 .amp { color:var(--red-lt); font-style:italic; }
.hero h1.ko { font-family:'Noto Sans KR',sans-serif; font-weight:900; font-size:clamp(2rem,8vw,4rem); line-height:1.1; }
.hero-sub { font-family:'Nunito',sans-serif; font-size:0.78rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--tan); margin-bottom:0.9rem; }
.hero-sub.ko { font-family:'Noto Sans KR',sans-serif; letter-spacing:0.03em; }
.hero-desc { color:rgba(253,246,236,0.55); font-size:0.88rem; line-height:1.75; }
.hero-desc.ko { font-family:'Noto Sans KR',sans-serif; font-size:0.85rem; }

/* ── MINI SLIDER (mobile: full width) ── */
.hero-slider-wrap { display:flex; flex-direction:column; gap:7px; width:100%; }
.hero-slider-label { font-family:'Nunito',sans-serif; font-size:0.6rem; font-weight:900; letter-spacing:0.2em; text-transform:uppercase; color:rgba(253,246,236,0.35); text-align:center; }
.hero-slider-label.ko { font-family:'Noto Sans KR',sans-serif; letter-spacing:0.08em; }
.hero-slider { border-radius:8px; overflow:hidden; background:#150e09; width:100%; }
.hslide { display:none; }
.hslide.active { display:block; }
.hslide-img { height:160px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.hslide-photo { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.hslide-emoji { font-size:58px; line-height:1; position:relative; z-index:2; }
.hslide-overlay { position:absolute; inset:0; background:rgba(26,17,10,0.25); z-index:1; }
.hprogress { height:2px; background:rgba(255,255,255,0.08); }
.hprogress-fill { height:100%; background:var(--red); width:0%; }
.hslide-body { padding:11px 13px 13px; }
.hslide-cat { font-size:8px; font-weight:900; letter-spacing:0.2em; text-transform:uppercase; color:var(--red-lt); margin-bottom:3px; }
.hslide-name { font-family:'Abril Fatface',serif; font-size:16px; color:var(--cream); margin-bottom:4px; line-height:1.1; }
.hslide-name.ko { font-family:'Noto Sans KR',sans-serif; font-weight:900; font-size:13px; }
.hslide-desc { font-size:10px; color:rgba(253,246,236,0.5); line-height:1.5; margin-bottom:9px; }
.hslide-desc.ko { font-family:'Noto Sans KR',sans-serif; font-size:9px; }
.hslide-footer { display:flex; align-items:center; justify-content:space-between; }
.hslide-price { font-family:'Abril Fatface',serif; font-size:17px; color:var(--red-lt); }
.hslide-add { background:var(--red); color:#fff; border:none; border-radius:3px; padding:5px 10px; font-family:'Nunito',sans-serif; font-weight:900; font-size:11px; cursor:pointer; transition:background 0.15s; }
.hslide-add.ko { font-family:'Noto Sans KR',sans-serif; }
.hslide-add:hover { background:var(--red-lt); }
.hslider-foot { display:flex; align-items:center; justify-content:space-between; padding:6px 12px 8px; background:#150e09; }
.harr-row { display:flex; gap:4px; }
.harr { width:22px; height:22px; border-radius:50%; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--cream); transition:all 0.15s; }
.harr:hover { background:var(--red); border-color:var(--red); }
.hdots { display:flex; gap:4px; align-items:center; }
.hdot { width:5px; height:5px; border-radius:50%; background:rgba(253,246,236,0.18); cursor:pointer; transition:all 0.2s; }
.hdot.active { background:var(--red); width:12px; border-radius:3px; }

/* ── CTA ROW ── */
.hero-cta-wrap { background:var(--smoke); flex-shrink:0; }
.hero-cta-row { max-width:1100px; margin:0 auto; padding:0 1.25rem 1.5rem; }
.cta-divider { border:none; border-top:1px solid rgba(255,255,255,0.07); margin-bottom:1.25rem; }
.cta-inner { display:flex; gap:0.6rem; justify-content:center; flex-wrap:wrap; }
.btn-primary { background:var(--red); color:#fff; border:none; border-radius:5px; padding:0.75rem 1.5rem; font-family:'Nunito',sans-serif; font-size:0.85rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; text-decoration:none; display:inline-block; transition:background 0.15s; }
.btn-primary:hover { background:var(--red-lt); }
.btn-primary.ko { font-family:'Noto Sans KR',sans-serif; letter-spacing:0.02em; }
.btn-outline { background:transparent; color:var(--cream); border:1.5px solid rgba(253,246,236,0.28); border-radius:5px; padding:0.75rem 1.5rem; font-family:'Nunito',sans-serif; font-size:0.85rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; text-decoration:none; display:inline-block; transition:all 0.15s; }
.btn-outline:hover { border-color:rgba(253,246,236,0.7); }
.btn-outline.ko { font-family:'Noto Sans KR',sans-serif; letter-spacing:0.02em; }

/* ── INFO STRIP ── */
.info-strip { background:var(--red); color:#fff; display:flex; justify-content:center; gap:0.75rem 1.5rem; padding:0.65rem 1rem; flex-wrap:wrap; flex-shrink:0; }
.info-item { display:flex; align-items:center; gap:5px; font-size:0.72rem; font-weight:700; }
.info-item.ko { font-family:'Noto Sans KR',sans-serif; font-size:0.68rem; }

/* ══ MENU PAGE ══ */
.menu-page { background:var(--char); flex:1; padding:1.5rem 1rem; overflow-y:auto; }
.menu-page-inner { max-width:900px; margin:0 auto; }
.mp-header { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.mp-back { display:flex; align-items:center; gap:5px; background:none; border:none; color:rgba(253,246,236,0.4); font-family:'Nunito',sans-serif; font-size:0.72rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:color 0.15s; padding:0; white-space:nowrap; }
.mp-back:hover { color:var(--cream); }
.mp-back.ko { font-family:'Noto Sans KR',sans-serif; letter-spacing:0.03em; }
.mp-title { font-family:'Abril Fatface',serif; font-size:1.5rem; color:var(--cream); }
.mp-title.ko { font-family:'Noto Sans KR',sans-serif; font-weight:900; font-size:1.25rem; }

/* Set banner */
.mp-set { background:#2c1f14; border-radius:10px; padding:0.9rem 1.1rem; display:flex; align-items:center; justify-content:space-between; gap:0.75rem; flex-wrap:wrap; margin-bottom:1.25rem; border:1px solid rgba(255,255,255,0.05); }
.mp-set-info strong { font-family:'Abril Fatface',serif; font-size:0.95rem; color:var(--cream); display:block; margin-bottom:2px; }
.mp-set-info strong.ko { font-family:'Noto Sans KR',sans-serif; font-weight:900; font-size:0.85rem; }
.mp-set-info span { font-size:0.75rem; color:rgba(253,246,236,0.45); }
.mp-set-info span.ko { font-family:'Noto Sans KR',sans-serif; font-size:0.72rem; }
.mp-set-price { font-family:'Abril Fatface',serif; font-size:1.35rem; color:var(--red-lt); white-space:nowrap; }
.mp-set-btn { background:var(--red); color:#fff; border:none; border-radius:5px; padding:0.5rem 1rem; font-family:'Nunito',sans-serif; font-weight:800; font-size:0.8rem; cursor:pointer; white-space:nowrap; transition:background 0.15s; }
.mp-set-btn.ko { font-family:'Noto Sans KR',sans-serif; }
.mp-set-btn:hover { background:var(--red-lt); }

/* Category grid */
.cat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.cat-card { background:#2c1f14; border-radius:10px; overflow:hidden; cursor:pointer; transition:transform 0.15s; border:1px solid rgba(255,255,255,0.05); }
.cat-card:hover { transform:translateY(-2px); }
.cat-card:hover .cat-card-overlay { opacity:1; }
.cat-card-img { height:110px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.cat-card-photo { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.cat-card-emoji { font-size:46px; position:relative; z-index:2; line-height:1; }
.cat-card-overlay { position:absolute; inset:0; background:rgba(192,57,43,0.18); z-index:1; opacity:0; transition:opacity 0.15s; }
.cat-card-label { padding:9px 10px 11px; text-align:center; }
.cat-card-name { font-family:'Nunito',sans-serif; font-size:0.68rem; font-weight:900; letter-spacing:0.16em; text-transform:uppercase; color:rgba(253,246,236,0.8); }
.cat-card-name.ko { font-family:'Noto Sans KR',sans-serif; letter-spacing:0.05em; font-size:0.74rem; }
.cat-card-count { font-size:0.64rem; color:rgba(253,246,236,0.3); margin-top:2px; }

/* ══ ITEM LIST PAGE ══ */
.item-page { background:var(--char); flex:1; padding:1.5rem 1rem; overflow-y:auto; }
.item-page-inner { max-width:900px; margin:0 auto; }
.ip-header { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.ip-back { background:none; border:none; color:rgba(253,246,236,0.4); font-family:'Nunito',sans-serif; font-size:0.72rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:color 0.15s; padding:0; display:flex; align-items:center; gap:5px; white-space:nowrap; }
.ip-back:hover { color:var(--cream); }
.ip-back.ko { font-family:'Noto Sans KR',sans-serif; letter-spacing:0.03em; }
.ip-title { font-family:'Abril Fatface',serif; font-size:1.5rem; color:var(--cream); }
.ip-title.ko { font-family:'Noto Sans KR',sans-serif; font-weight:900; font-size:1.25rem; }
.item-list { display:flex; flex-direction:column; gap:8px; }
.item-row { background:#2c1f14; border-radius:10px; overflow:hidden; display:grid; grid-template-columns:80px 1fr auto; align-items:center; border:1px solid rgba(255,255,255,0.05); }
.item-img { width:80px; height:80px; display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; overflow:hidden; }
.item-img-photo { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.item-img-emoji { font-size:34px; position:relative; z-index:2; }
.item-img-bg { position:absolute; inset:0; }
.item-body { padding:0.65rem 0.75rem; min-width:0; }
.item-badge { display:inline-block; background:var(--red); color:#fff; font-size:0.56rem; font-weight:900; letter-spacing:0.08em; text-transform:uppercase; padding:2px 6px; border-radius:3px; margin-bottom:4px; }
.item-name { font-family:'Abril Fatface',serif; font-size:0.9rem; color:var(--cream); margin-bottom:3px; line-height:1.15; }
.item-name.ko { font-family:'Noto Sans KR',sans-serif; font-weight:900; font-size:0.82rem; }
.item-desc { font-size:0.72rem; color:rgba(253,246,236,0.45); line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.item-desc.ko { font-family:'Noto Sans KR',sans-serif; font-size:0.68rem; }
.item-action { padding:0 0.85rem; display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.item-price { font-family:'Abril Fatface',serif; font-size:1rem; color:var(--red-lt); white-space:nowrap; }
.item-add { background:var(--red); color:#fff; border:none; border-radius:4px; padding:0.4rem 0.75rem; font-family:'Nunito',sans-serif; font-weight:900; font-size:0.72rem; cursor:pointer; white-space:nowrap; transition:background 0.15s; }
.item-add.ko { font-family:'Noto Sans KR',sans-serif; }
.item-add:hover { background:var(--red-lt); }

/* ── CART ── */
.cart-overlay { display:none; position:fixed; inset:0; background:rgba(28,17,10,0.55); z-index:200; }
.cart-overlay.open { display:block; }
.cart-panel { position:fixed; top:0; right:0; width:100vw; max-width:420px; height:100vh; background:var(--cream); z-index:201; display:flex; flex-direction:column; transform:translateX(100%); transition:transform 0.3s ease; }
.cart-panel.open { transform:translateX(0); }
.cart-head { background:var(--smoke); color:var(--cream); padding:1rem 1.25rem; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.cart-head-title { font-family:'Abril Fatface',serif; font-size:1.1rem; }
.cart-head-title.ko { font-family:'Noto Sans KR',sans-serif; font-weight:900; font-size:0.95rem; }
.x-btn { background:none; border:none; color:var(--cream); font-size:1.4rem; cursor:pointer; opacity:0.65; line-height:1; padding:0; }
.x-btn:hover { opacity:1; }
.cart-body { flex:1; overflow-y:auto; padding:0.85rem 1.25rem; }
.cart-empty { text-align:center; color:var(--muted); padding:2.5rem 1rem; font-size:0.88rem; }
.c-item { display:flex; align-items:center; gap:9px; padding:0.75rem 0; border-bottom:1px solid var(--border); }
.c-emoji { font-size:1.75rem; width:36px; text-align:center; flex-shrink:0; }
.c-info { flex:1; min-width:0; }
.c-name { font-weight:700; font-size:0.85rem; color:var(--char); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.c-price { font-size:0.78rem; color:var(--red); font-weight:700; margin-top:1px; }
.qty-ctrl { display:flex; align-items:center; gap:5px; flex-shrink:0; }
.q-btn { width:26px; height:26px; border:1px solid var(--border); background:#fff; border-radius:4px; cursor:pointer; font-size:0.95rem; display:flex; align-items:center; justify-content:center; color:var(--char); transition:all 0.15s; }
.q-btn:hover { background:var(--smoke); color:var(--cream); border-color:var(--smoke); }
.q-n { font-weight:700; font-size:0.85rem; min-width:16px; text-align:center; }
.cart-foot { padding:1rem 1.25rem; border-top:1px solid var(--border); flex-shrink:0; }
.tot-row { display:flex; justify-content:space-between; font-size:0.85rem; color:var(--muted); margin-bottom:0.35rem; }
.tot-row.grand { font-size:1rem; font-weight:800; color:var(--char); padding-top:0.45rem; border-top:1px solid var(--border); margin-bottom:1rem; }
.pay-stack { display:flex; flex-direction:column; gap:0.5rem; }
.pay-btn { width:100%; padding:0.78rem; border:none; border-radius:7px; font-size:0.92rem; font-weight:800; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:opacity 0.15s,transform 0.1s; }
.pay-btn:hover { opacity:0.9; }
.pay-btn:active { transform:scale(0.98); }
.kakao { background:#FEE500; color:#3B1F1A; }
.naver { background:#03C75A; color:#fff; }
.pay-logo { font-size:0.68rem; font-weight:900; letter-spacing:0.04em; }

/* ── PAYMENT MODAL ── */
.modal-bg { display:none; position:fixed; inset:0; background:rgba(28,17,10,0.72); z-index:300; align-items:flex-end; justify-content:center; }
.modal-bg.open { display:flex; }
.modal-box { background:#fff; border-radius:16px 16px 0 0; width:100%; max-width:480px; overflow:hidden; }
.modal-top { background:var(--smoke); color:var(--cream); padding:1.25rem; text-align:center; }
.modal-method { font-size:0.68rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; opacity:0.5; margin-bottom:0.35rem; }
.modal-amount { font-family:'Abril Fatface',serif; font-size:2rem; }
.modal-mid { padding:1.5rem; text-align:center; }
.spinner { width:40px; height:40px; border:3px solid var(--warm); border-top-color:var(--red); border-radius:50%; margin:0 auto 1rem; animation:spin 0.75s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.tick { width:50px; height:50px; background:#e9f9ee; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-size:1.5rem; }
.modal-mid h4 { font-size:1rem; font-weight:800; color:var(--char); margin-bottom:0.3rem; }
.modal-mid h4.ko, .modal-mid p.ko { font-family:'Noto Sans KR',sans-serif; }
.modal-mid p { font-size:0.82rem; color:var(--muted); line-height:1.6; }
.modal-foot { padding:0 1.25rem 1.25rem; }
.done-btn { display:none; width:100%; background:var(--red); color:#fff; border:none; border-radius:6px; padding:0.85rem; font-family:'Nunito',sans-serif; font-weight:800; font-size:0.92rem; cursor:pointer; transition:background 0.15s; }
.done-btn.ko { font-family:'Noto Sans KR',sans-serif; }
.done-btn:hover { background:var(--red-lt); }

/* ── ADMIN ── */
.admin-wrap { display:flex; flex:1; overflow:hidden; }
.a-sidebar { width:200px; background:var(--char); flex-shrink:0; padding:1.5rem 0; overflow-y:auto; display:none; }
.a-sidebar .brand { font-family:'Abril Fatface',serif; font-size:0.88rem; color:var(--tan); padding:0 1.1rem; margin-bottom:1.25rem; }
.a-sec-lbl { font-size:0.62rem; font-weight:900; letter-spacing:0.2em; text-transform:uppercase; color:rgba(253,246,236,0.28); padding:0 1.1rem; margin:1.1rem 0 0.4rem; }
.a-link { display:flex; align-items:center; gap:8px; padding:0.5rem 1.1rem; font-size:0.85rem; font-weight:700; color:rgba(253,246,236,0.55); cursor:pointer; border-left:3px solid transparent; transition:all 0.15s; }
.a-link:hover, .a-link.active { color:var(--cream); background:rgba(253,246,236,0.07); border-left-color:var(--red); }
.a-main { flex:1; background:var(--warm); padding:1.5rem; overflow-y:auto; }
.a-topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; flex-wrap:wrap; gap:0.75rem; }
.a-topbar h2 { font-family:'Abril Fatface',serif; font-size:1.5rem; color:var(--char); }
.a-btn { background:var(--red); color:#fff; border:none; padding:0.55rem 1.1rem; border-radius:5px; font-family:'Nunito',sans-serif; font-weight:800; font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase; cursor:pointer; transition:background 0.15s; }
.a-btn:hover { background:var(--red-lt); }
.a-btn.ghost { background:transparent; color:var(--smoke); border:1.5px solid var(--border); }
.a-btn.ghost:hover { background:#fff; }
.a-btn.del { background:#922b21; }
.a-btn.del:hover { background:var(--red-lt); }
.stats-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0.75rem; margin-bottom:1.5rem; }
.s-card { background:#fff; border:1px solid var(--border); border-radius:8px; padding:1rem; }
.s-label { font-size:0.68rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-bottom:0.35rem; }
.s-val { font-family:'Abril Fatface',serif; font-size:1.6rem; color:var(--char); }
.s-val.red { color:var(--red); }
.a-card { background:#fff; border:1px solid var(--border); border-radius:8px; overflow:hidden; margin-bottom:1.25rem; overflow-x:auto; }
.a-card-head { padding:0.8rem 1.1rem; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.a-card-head h3 { font-weight:900; font-size:0.8rem; letter-spacing:0.07em; text-transform:uppercase; color:var(--char); }
table { width:100%; border-collapse:collapse; font-size:0.82rem; min-width:500px; }
th { padding:0.6rem 0.85rem; text-align:left; font-size:0.65rem; font-weight:900; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); background:var(--warm); border-bottom:1px solid var(--border); }
td { padding:0.72rem 0.85rem; border-bottom:1px solid var(--border); color:var(--char); }
tr:last-child td { border-bottom:none; }
tr:hover td { background:rgba(245,230,204,0.35); }
.pill { display:inline-block; padding:2px 8px; border-radius:20px; font-size:0.68rem; font-weight:800; }
.pill-on { background:#e9f7ee; color:#166534; }
.pill-off { background:var(--warm); color:var(--muted); }
.os-new { color:var(--red); font-weight:800; }
.os-prep { color:#c05e00; font-weight:700; }
.os-done { color:#166534; font-weight:700; }
.em-bg { display:none; position:fixed; inset:0; background:rgba(28,17,10,0.6); z-index:400; align-items:flex-end; justify-content:center; }
.em-bg.open { display:flex; }
.em-box { background:#fff; border-radius:16px 16px 0 0; width:100%; max-width:540px; max-height:92vh; overflow-y:auto; }
.em-head { padding:1rem 1.25rem; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; background:#fff; z-index:1; }
.em-head h3 { font-family:'Abril Fatface',serif; font-size:1rem; color:var(--char); }
.em-body { padding:1.25rem; }
.fg { margin-bottom:1rem; }
.fg label { display:block; font-size:0.68rem; font-weight:900; letter-spacing:0.07em; text-transform:uppercase; color:var(--muted); margin-bottom:0.3rem; }
.fg input, .fg textarea, .fg select { width:100%; padding:0.6rem 0.8rem; border:1.5px solid var(--border); border-radius:5px; font-family:'Nunito Sans',sans-serif; font-size:0.9rem; color:var(--char); background:#fff; outline:none; transition:border-color 0.15s; -webkit-appearance:none; }
.fg input:focus, .fg textarea:focus, .fg select:focus { border-color:var(--red); }
.fg textarea { resize:vertical; min-height:64px; }
.fg-row { display:grid; grid-template-columns:1fr 1fr; gap:0.85rem; }
.em-foot { padding:0.85rem 1.25rem; border-top:1px solid var(--border); display:flex; justify-content:flex-end; gap:0.5rem; position:sticky; bottom:0; background:#fff; }

/* ── TOAST ── */
.toast { position:fixed; bottom:1.5rem; left:50%; transform:translateX(-50%) translateY(120px); background:var(--smoke); color:var(--cream); padding:0.75rem 1.25rem; border-radius:6px; font-size:0.85rem; font-weight:700; z-index:600; transition:transform 0.3s ease; white-space:nowrap; border-left:3px solid var(--red); }
.toast.show { transform:translateX(-50%) translateY(0); }

/* ── TABLET (600px+) ── */
@media (min-width:600px) {
  .cat-grid { grid-template-columns:repeat(4,1fr); }
  .stats-grid { grid-template-columns:repeat(4,1fr); }
  .fg-row { grid-template-columns:1fr 1fr; }
  .item-row { grid-template-columns:100px 1fr auto; }
  .item-img { width:100px; height:90px; }
  .item-img-emoji { font-size:40px; }
  .item-desc { white-space:normal; }
}

/* ── DESKTOP (860px+) ── */
@media (min-width:860px) {
  nav { height:60px; padding:0 1.75rem; }
  .nav-link { display:inline; }
  .logo { font-size:1.35rem; }
  body { height:100vh; overflow:hidden; }
  #view-home { overflow:hidden; }
  .hero-inner { flex-direction:row; display:grid; grid-template-columns:1fr 280px; gap:3rem; align-items:center; padding:3rem 2rem 2rem; flex:1; min-height:0; }
  .hero-slider-wrap { width:280px; }
  .hslide-img { height:160px; }
  .hero-cta-row { padding:0 2rem 1.75rem; }
  .cta-divider { margin-bottom:1.75rem; }
  .menu-page { padding:2.5rem 2rem; }
  .item-page { padding:2.5rem 2rem; }
  .mp-header { margin-bottom:2rem; }
  .ip-header { margin-bottom:2rem; }
  .a-sidebar { display:block; }
  .modal-bg { align-items:center; }
  .modal-box { border-radius:12px; max-width:380px; }
  .em-bg { align-items:center; }
  .em-box { border-radius:10px; max-width:520px; max-height:90vh; }
  .toast { left:auto; right:1.75rem; transform:translateY(120px); }
  .toast.show { transform:translateY(0); }
  .info-strip { gap:2rem; padding:0.75rem 2rem; }
  .info-item { font-size:0.82rem; }
}
