*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fffaf0;color:#202020}button{font-family:inherit;cursor:pointer}.page{min-height:100vh;max-width:520px;margin:0 auto;padding:16px 16px 92px;background:#fffaf0}.hero{border-radius:28px;padding:28px 22px;background:linear-gradient(135deg,#ffd84d,#fff2a6);box-shadow:0 12px 30px #00000014;margin-bottom:18px}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:#007a63}h1{margin:0;font-size:34px;line-height:.95}.hero p:last-child{margin:12px 0 0;font-size:15px}.menu-list{display:grid;gap:14px}.menu-card{display:grid;grid-template-columns:116px 1fr;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 10px 24px #00000012;border:1px solid rgba(0,0,0,.05)}.menu-card img{width:116px;height:100%;min-height:152px;object-fit:cover}.menu-content{padding:14px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.category{margin:0 0 4px;color:#007a63;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}h3{margin:0;font-size:17px}.desc{margin:6px 0 0;color:#666;font-size:13px;line-height:1.35}.price-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.add-btn,.checkout-btn{border:none;background:#e94235;color:#fff;font-weight:900;border-radius:999px;padding:10px 18px;box-shadow:0 8px 18px #e9423547}.qty-control{display:inline-flex;align-items:center;gap:12px;background:#fff4f2;border:1px solid #ffd2cb;border-radius:999px;padding:5px 8px}.qty-control button{border:none;background:#fff;color:#e94235;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;box-shadow:0 2px 6px #00000014}.qty-control span{min-width:16px;text-align:center;font-weight:900}.floating-cart{position:fixed;left:50%;bottom:20px;transform:translate(-50%);width:min(488px,calc(100% - 32px));border:none;border-radius:999px;padding:15px 18px;background:#007a63;color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 30px #00000038;font-weight:900}.floating-cart span{display:flex;align-items:center;gap:8px}.drawer-wrap{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.drawer-wrap.open{pointer-events:auto}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;transition:.2s}.drawer-wrap.open .drawer-backdrop{background:#00000052}.drawer{position:absolute;left:50%;bottom:0;transform:translate(-50%,105%);width:min(520px,100%);background:#fff;border-radius:28px 28px 0 0;padding:18px;transition:.25s;box-shadow:0 -14px 40px #00000038;max-height:80vh;display:flex;flex-direction:column}.drawer-wrap.open .drawer{transform:translate(-50%)}.drawer-header{display:flex;justify-content:space-between;align-items:center}.drawer-header h2{margin:0}.icon-btn{border:none;background:#f3f3f3;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.empty{color:#777}.cart-list{overflow:auto;display:grid;gap:12px;padding:16px 0}.cart-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eee;padding-bottom:12px}.cart-row p{margin:5px 0 0;color:#777;font-size:13px}.drawer-footer{border-top:1px solid #eee;padding-top:16px;display:grid;gap:12px}.total-row{display:flex;justify-content:space-between;align-items:center;font-size:18px}.checkout-btn{width:100%;padding:15px 18px;font-size:16px}.checkout-btn:disabled{opacity:.5;cursor:not-allowed}.error-box{background:#fff0ef;color:#b1261d;border:1px solid #ffd0ca;padding:12px;border-radius:16px;margin-bottom:14px}.center{display:grid;place-items:center;text-align:center}.success-page{display:grid;place-items:center}.success-card{background:#fff;border-radius:30px;padding:28px;text-align:center;box-shadow:0 14px 32px #0000001a}.badge{display:inline-block;margin:0 0 12px;background:#e9fff7;color:#007a63;border-radius:999px;padding:8px 14px;font-weight:900}.pickup-code{font-size:56px;font-weight:1000;letter-spacing:.08em;background:#fff4cc;border:2px dashed #e9b500;border-radius:20px;padding:18px;margin:22px 0;color:#202020}@media (max-width: 390px){.menu-card{grid-template-columns:100px 1fr}.menu-card img{width:100px}h1{font-size:30px}}
