@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--zm-primary: #24305E;--zm-accent: #F5A623}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#1a1a1a}button,input,select,textarea{font-family:inherit}#root{max-width:480px;margin:0 auto;background:#fff;min-height:100vh;position:relative}.zm-page{padding-bottom:90px;min-height:100vh;background:#fff}.zm-header{position:sticky;top:0;z-index:10;background:var(--zm-primary);color:#fff;padding:12px 16px;display:flex;align-items:center;gap:10px;min-height:56px}.zm-header h1{font-size:17px;font-weight:700;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.zm-back{border:none;background:none;font-size:22px;cursor:pointer;color:#fff;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.zm-branch-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:color-mix(in srgb,var(--zm-primary) 6%,#fff);border-bottom:1px solid color-mix(in srgb,var(--zm-primary) 12%,#fff);font-size:13px;cursor:pointer}.zm-branch-bar b{color:var(--zm-primary)}.zm-search{margin:12px 16px;display:flex;gap:8px}.zm-search input{flex:1;border:1px solid #e0e0e0;border-radius:12px;padding:10px 16px;font-size:14px;outline:none}.zm-search input:focus{border-color:var(--zm-primary)}.zm-section-title{font-size:18px;font-weight:800;padding:14px 16px 8px}.zm-cat-title{font-size:16px;font-weight:800;padding:14px 16px 4px}.zm-promo-card{margin:0 16px 8px;border:1px solid #ffe0b2;background:#fff8e1;border-radius:12px;padding:12px;font-size:13px}.zm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px 16px}.zm-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f;cursor:pointer;position:relative}.zm-card-media{position:relative}.zm-card-media img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#f0f0f0}.zm-card-add{position:absolute;right:8px;bottom:8px;width:44px;height:44px;border-radius:50%;background:var(--zm-primary);color:#fff;border:none;font-size:22px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000040}.zm-card-add:active{transform:scale(.92)}.zm-card-body{padding:12px}.zm-badge-best{background:#157f3d}.zm-best{color:#157f3d;font-size:12px;font-weight:700;margin-bottom:2px}.zm-promo-line{color:var(--zm-accent);font-size:12px;font-weight:700;margin-bottom:2px}.zm-card-name{font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:32px}.zm-card-price{font-size:15px;font-weight:800;margin-top:2px}.zm-badge-hot{position:absolute;top:8px;left:8px;background:var(--zm-accent);color:#3a2a00;font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px}.zm-row-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid #f5f5f5;cursor:pointer;align-items:flex-start;position:relative}.zm-row-item img{width:112px;height:112px;border-radius:12px;object-fit:cover;background:#f0f0f0;flex-shrink:0}.zm-row-info{flex:1;min-width:0;padding-right:48px}.zm-row-name{font-size:14px;font-weight:700}.zm-row-desc{font-size:12px;color:#757575;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0}.zm-row-price{font-size:15px;font-weight:800}.zm-row-old{font-size:12px;color:#aaa;text-decoration:line-through;margin-left:6px}.zm-add-btn{width:44px;height:44px;border-radius:50%;background:var(--zm-primary);color:#fff;border:none;font-size:22px;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px color-mix(in srgb,var(--zm-primary) 40%,transparent);position:absolute;right:16px;bottom:12px}.zm-add-btn:active{transform:scale(.92)}.zm-cartbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #eee;z-index:30}.zm-cartbar.above-tab{bottom:62px;padding-bottom:12px}.zm-btn-primary{width:100%;background:var(--zm-primary);color:#fff;border:none;border-radius:12px;padding:15px;font-size:16px;font-weight:800;cursor:pointer}.zm-btn-inline{width:auto;flex-shrink:0;background:var(--zm-primary);color:#fff;border:none;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:700;cursor:pointer;min-height:44px}.zm-btn-inline:disabled{background:#ccc;cursor:not-allowed}.zm-btn-primary:disabled{background:#ccc;cursor:not-allowed}.zm-btn-outline{width:100%;background:#fff;color:var(--zm-primary);border:1.5px solid var(--zm-primary);border-radius:12px;padding:13px;font-size:15px;font-weight:700;cursor:pointer}.zm-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:50;display:flex;align-items:flex-end;justify-content:center}.zm-sheet{background:#fff;width:100%;max-width:480px;max-height:92vh;overflow-y:auto;border-radius:16px 16px 0 0;animation:slideUp .25s ease;scrollbar-width:none;-ms-overflow-style:none}.zm-sheet::-webkit-scrollbar{display:none}@keyframes slideUp{0%{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}.zm-sheet-hero{width:100%;height:320px;object-fit:cover;background:#f0f0f0;border-radius:16px 16px 0 0}.zm-sheet-body{padding:16px}.zm-opt-group{margin-top:16px}.zm-opt-title{font-size:16px;font-weight:800;display:flex;justify-content:space-between;align-items:center}.zm-opt-hint{font-size:11px;color:#757575;background:#f5f5f5;padding:4px 10px;border-radius:8px;font-weight:400}.zm-opt-hint.req{color:var(--zm-primary);background:color-mix(in srgb,var(--zm-primary) 12%,#fff)}.zm-opt{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #f7f7f7;cursor:pointer;font-size:14px}.zm-opt-check{width:22px;height:22px;border:2px solid #ccc;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}.zm-opt-check.radio{border-radius:50%}.zm-opt-check.on{background:var(--zm-primary);border-color:var(--zm-primary)}.zm-opt-price{margin-left:auto;color:#666;font-size:13px}.zm-qty{display:flex;align-items:center;gap:14px}.zm-qty button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--zm-primary);background:#fff;color:var(--zm-primary);font-size:0;cursor:pointer;position:relative;padding:0;flex-shrink:0}.zm-qty button:before{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.5px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}.zm-qty button:last-child:after{content:"";position:absolute;left:50%;top:50%;width:2.5px;height:14px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}.zm-qty span{font-size:16px;font-weight:800;min-width:32px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.zm-field{margin-bottom:14px}.zm-field label{font-size:13px;font-weight:700;display:block;margin-bottom:6px}.zm-field input,.zm-field select,.zm-field textarea{width:100%;border:1px solid #e0e0e0;border-radius:12px;padding:12px;font-size:14px;outline:none}.zm-field input:focus{border-color:var(--zm-primary)}.zm-seg{display:flex;background:#f0f0f0;border-radius:12px;padding:4px;gap:4px;margin-bottom:14px}.zm-seg button{flex:1;border:none;background:none;padding:10px;border-radius:8px;font-size:13px;font-weight:700;color:#666;cursor:pointer}.zm-seg button.on{background:#fff;color:var(--zm-primary);box-shadow:0 1px 4px #0000001a}.zm-seg button:disabled{opacity:.45;cursor:not-allowed}.zm-pay-opt{display:flex;gap:12px;align-items:center;border:1.5px solid #e0e0e0;border-radius:12px;padding:14px;margin-bottom:10px;cursor:pointer}.zm-pay-opt.on{border-color:var(--zm-primary);background:color-mix(in srgb,var(--zm-primary) 8%,#fff)}.zm-pay-opt .dot{width:20px;height:20px;border-radius:50%;border:2px solid #ccc;flex-shrink:0}.zm-pay-opt.on .dot{border-color:var(--zm-primary);background:radial-gradient(circle,var(--zm-primary) 40%,transparent 45%)}.zm-total-row{display:flex;justify-content:space-between;font-size:14px;padding:4px 0;color:#555}.zm-total-row.disc{color:var(--zm-primary)}.zm-total-row.grand{font-size:17px;font-weight:800;color:#1a1a1a;border-top:1px dashed #e0e0e0;margin-top:8px;padding-top:10px}.zm-timeline{padding:8px 16px}.zm-step{display:flex;gap:12px;padding:10px 0}.zm-step .dot2{width:26px;height:26px;border-radius:50%;background:#e0e0e0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.zm-step.done .dot2{background:var(--zm-primary)}.zm-step .lbl{font-size:14px;font-weight:600;padding-top:3px}.zm-step.done .lbl{color:#1a1a1a}.zm-step:not(.done) .lbl{color:#aaa}.zm-tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#fff;border-top:1px solid #eee;display:flex;z-index:20;padding-bottom:env(safe-area-inset-bottom)}.zm-tabbar a{flex:1;text-align:center;padding:10px 4px 8px;font-size:11px;color:#757575;text-decoration:none}.zm-tabbar a.on{color:var(--zm-primary);font-weight:700}.zm-tabbar .ico{font-size:20px;display:block;margin-bottom:2px}.zm-ot-head,.zm-ot-row{display:flex;gap:8px;align-items:flex-start}.zm-ot-head{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:#767676;font-weight:700;border-bottom:1px solid #eee;padding:4px 0 8px}.zm-ot-row{padding:10px 0;border-bottom:1px solid #f5f5f5}.zm-ot-row .c-name,.zm-ot-head .c-name{flex:1;min-width:0}.zm-ot-row .c-name b{display:block;font-size:14px}.zm-ot-opt{display:block;font-size:12px;color:#666;margin-top:3px;line-height:1.45}.zm-ot-note{display:block;font-size:12px;color:#767676;font-style:italic;margin-top:3px}.zm-ot-head .c-qty,.zm-ot-row .c-qty{width:30px;flex-shrink:0;text-align:center;font-weight:700}.zm-ot-head .c-price,.zm-ot-row .c-price{width:66px;flex-shrink:0;text-align:right;font-size:12px;color:#666}.zm-ot-head .c-total,.zm-ot-row .c-total{width:82px;flex-shrink:0;text-align:right;font-weight:700}.zm-tabbar-badge{position:absolute;top:-6px;right:2px;min-width:18px;height:18px;border-radius:9px;background:#e11d48;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.zm-empty{text-align:center;padding:60px 20px;color:#767676;font-size:14px}.zm-note{font-size:12px;color:#757575;background:#f9f9f9;border-radius:8px;padding:10px 12px;margin-top:10px;line-height:1.5}.zm-alert{background:#fff8e1;border:1px solid #ffe0b2;color:#8a5a00;border-radius:12px;padding:12px;font-size:13px;margin:12px 16px}.zm-cover{position:relative;height:200px;background:#e8e8e8;overflow:hidden}.zm-cover img{width:100%;height:100%;object-fit:cover;display:block}.zm-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:72px;background:linear-gradient(135deg,var(--zm-primary),color-mix(in srgb,var(--zm-primary) 60%,#000))}.zm-branch-pill{position:absolute;top:12px;right:12px;background:#fffffff5;border:none;border-radius:12px;padding:12px 15px;min-height:44px;font-size:13px;font-weight:700;color:#1a1a1a;cursor:pointer;box-shadow:0 2px 8px #00000026;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zm-branch-name{font-size:20px;font-weight:800;padding:14px 16px 0;margin:0}.zm-branch-card{background:#fff;margin:-32px 16px 0;border-radius:16px;padding:16px;box-shadow:0 2px 12px #00000012;position:relative;z-index:1}.zm-branch-card-name{font-size:19px;font-weight:800;color:#1a1a2e;margin-bottom:8px}.zm-branch-card-row{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:#333;padding:4px 0;line-height:1.5}.zm-open{color:#16a34a;font-weight:600}.zm-closed{color:#dc2626;font-weight:600}.zm-hours{color:#767676;font-weight:400}.zm-deliv-card{background:#fff;border-radius:12px;margin:12px 0;padding:14px;box-shadow:0 1px 4px #0000000f;cursor:pointer}.zm-deliv-top{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.zm-deliv-ic{width:38px;height:38px;border-radius:50%;background:#e8f0fe;display:flex;align-items:center;justify-content:center;font-size:18px}.zm-deliv-t{font-size:15px;font-weight:700;flex:1;color:#1a1a2e}.zm-deliv-chg{font-size:13px;color:#b26a00;font-weight:600;background:#fef6e8;padding:10px 12px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}.zm-deliv-mid{display:flex;align-items:center;gap:10px;padding-top:12px}.zm-deliv-uic{width:38px;height:38px;border-radius:10px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;font-size:18px;color:#999}.zm-deliv-nm{font-size:14.5px;font-weight:700;color:#1a1a2e}.zm-deliv-nm .zm-miss{color:#e11d48;font-weight:500}.zm-deliv-ad{font-size:13px;color:#757575;margin-top:2px}.zm-deliv-arr{color:#bbb;font-size:20px}.zm-pop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:100;display:flex;align-items:flex-end}.zm-pop-sheet{background:#fff;border-radius:16px 16px 0 0;padding:20px 16px 24px;width:100%;max-width:480px;margin:0 auto;max-height:88vh;overflow-y:auto}.zm-pop-sheet h3{font-size:18px;font-weight:800;margin-bottom:16px;color:#1a1a2e}.zm-loc-btn{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--zm-primary);color:var(--zm-primary);background:#fff;border-radius:12px;min-height:44px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;margin-top:4px}.zm-loc-btn:disabled{opacity:.6}.zm-loc-hint{font-size:12px;color:#767676;margin-top:8px;line-height:1.6}.zm-pop-save{width:100%;margin-top:16px}.zm-sticky{position:fixed;top:0;left:0;right:0;z-index:50;background:#fff;box-shadow:0 2px 10px #0000001a;max-width:480px;margin:0 auto}.zm-sticky-top{display:flex;align-items:center;justify-content:space-between;padding:10px 14px}.zm-sticky-name{font-size:15px;font-weight:800;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.zm-sticky-group{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--zm-primary);background:none;border:none;cursor:pointer;padding:6px 4px}.zm-sticky-nav{display:flex;align-items:center;gap:8px;padding:0 14px 10px}.zm-menu-wrap{position:relative;flex:1}.zm-menu-select{width:100%;display:flex;align-items:center;justify-content:space-between;border:1.5px solid #e5e7eb;border-radius:12px;padding:11px 14px;min-height:44px;font-size:13px;font-weight:600;color:#374151;background:#fff;cursor:pointer}.zm-menu-drop{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000024;overflow:hidden;z-index:60;max-height:280px;overflow-y:auto}.zm-menu-drop button{display:block;width:100%;text-align:left;border:none;background:none;padding:12px 14px;font-size:13.5px;color:#1a1a2e;cursor:pointer;border-bottom:1px solid #f3f4f6}.zm-menu-drop button:last-child{border-bottom:none}.zm-menu-drop button:active{background:#f9fafb}.zm-search-ic{width:44px;height:44px;border-radius:50%;border:1.5px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:center;color:#374151;cursor:pointer;flex-shrink:0}.zm-sticky-search{padding:0 14px 10px}.zm-sticky-search input{width:100%;border:1.5px solid #e5e7eb;border-radius:12px;padding:10px 14px;font-size:14px;outline:none}.zm-sticky-search input:focus{border-color:var(--zm-primary)}.zm-seg{display:flex;background:#eef1f6;border-radius:12px;padding:4px;margin:12px 16px 4px;gap:4px}.zm-seg.in-card{margin:12px 0 0}.zm-seg-btn{flex:1;border:none;border-radius:8px;padding:12px 8px;font-size:14px;font-weight:700;cursor:pointer;background:transparent;color:#6b7280}.zm-seg-btn.active{background:#fff;color:var(--zm-primary);box-shadow:0 1px 4px #0000001a}.zm-seg-btn:active{transform:scale(.97)}.zm-actions{display:flex;gap:12px;padding:12px 16px 4px}.zm-action-btn{flex:1;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #eee;border-radius:12px;padding:12px;cursor:pointer;text-align:left}.zm-action-btn .ico{font-size:28px}.zm-action-btn b{display:block;font-size:14px}.zm-action-btn small{display:block;font-size:11px;color:#757575;margin-top:2px;line-height:1.4}.zm-action-btn.primary{border-color:color-mix(in srgb,var(--zm-primary) 35%,#fff);background:color-mix(in srgb,var(--zm-primary) 6%,#fff)}.zm-action-btn:active{transform:scale(.97)}.zm-hscroll{display:flex;gap:12px;overflow-x:auto;padding:4px 16px 10px;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.zm-hscroll::-webkit-scrollbar{display:none}.zm-promo-slide{min-width:260px;max-width:260px;border:1px solid #ffe0b2;background:linear-gradient(135deg,#fff8e1,#fff);border-radius:12px;padding:14px}.zm-promo-slide-title{font-size:14px;font-weight:800;margin-bottom:4px}.zm-promo-slide-desc{font-size:12px;color:#8a5a00;line-height:1.5}.zm-sale-card{min-width:148px;max-width:148px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000012;cursor:pointer;position:relative;border:1px solid #f0f0f0}.zm-sale-card img{width:100%;aspect-ratio:1;object-fit:cover;background:#f5f5f5}.zm-sale-badge{position:absolute;top:8px;left:8px;background:var(--zm-accent);color:#3a2a00;font-size:11px;font-weight:800;padding:3px 9px;border-radius:12px}.zm-sale-card .zm-card-name{padding:8px 8px 0}.zm-sale-card>div:last-child{padding:0 8px 10px}.zm-group-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:color-mix(in srgb,var(--zm-primary) 6%,#fff);border-bottom:1px solid color-mix(in srgb,var(--zm-primary) 12%,#fff)}.zm-group-line{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f5f5f5;align-items:center}.zm-group-line img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:#f0f0f0;flex-shrink:0}.zm-group-names{font-size:12px;color:var(--zm-primary);font-weight:600;margin:3px 0}.zm-qty-sm{display:flex;align-items:center;gap:10px;flex-shrink:0}.zm-qty-sm button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--zm-primary);background:#fff;color:var(--zm-primary);font-size:0;cursor:pointer;position:relative;padding:0;flex-shrink:0}.zm-qty-sm button:before{content:"";position:absolute;left:50%;top:50%;width:12px;height:2.5px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}.zm-qty-sm button:last-child:after{content:"";position:absolute;left:50%;top:50%;width:2.5px;height:12px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}.zm-qty-sm span{font-weight:800;min-width:28px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
