*{box-sizing:border-box;margin:0}:root{--ink:#10221f;--faint:#5b6f6b;--line:#dde7e4;--brand:#0f766e;--brand-dark:#0b5d57;--bg:#f4f8f7;--card:#fff;--warm:#b45309;--danger:#b91c1c}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:-apple-system,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.45}.shell{max-width:560px;margin:0 auto;padding:12px 14px 28px}.brand{color:var(--brand-dark);letter-spacing:.2px;padding:6px 2px 14px;font-weight:700}h1{margin:2px 0 6px;font-size:22px}.pagehead{padding:4px 2px 10px}.eyebrow{text-transform:uppercase;letter-spacing:.8px;color:var(--brand-dark);font-size:12px;font-weight:700}.cat{text-transform:uppercase;letter-spacing:.6px;color:var(--faint);margin:18px 2px 6px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:18px 16px}.center{text-align:center}.center h1{margin-top:6px}.big{font-size:44px}.faint{color:var(--faint)}.tiny{font-size:12px}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.orderno{margin:2px 0 10px;font-size:26px;font-weight:700}.btn{cursor:pointer;border:0;border-radius:12px;margin-top:14px;padding:14px 22px;font-size:16px;font-weight:600;display:inline-block}.btn.primary{background:var(--brand);color:#fff}.btn.primary:disabled{background:#9fbcb8}.btn.ghost{color:var(--brand-dark);border:1px solid var(--line);background:0 0}.error{color:var(--danger);margin:8px 0 0;font-size:14px}.prow{background:var(--card);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin:6px 0;padding:10px 12px;display:flex}.prow.oos{opacity:.55}.pname{font-size:15px;font-weight:600}.pmeta{color:var(--faint);flex-wrap:wrap;gap:8px;margin-top:2px;font-size:12px;display:flex}.pmeta .price{color:var(--ink)}.tag{border-radius:99px;padding:1px 8px;font-size:11px;font-weight:600}.t-promo{color:var(--warm);background:#fef3c7}.t-contract{color:var(--brand-dark);background:#d1fae5}.t-oos{color:var(--danger);background:#fee2e2}.stepper{align-items:center;gap:2px;display:flex}.stepper button{border:1px solid var(--line);width:40px;height:40px;color:var(--brand-dark);background:#fff;border-radius:10px;font-size:20px}.stepper button:disabled{color:#b9c8c5}.stepper .qty{text-align:center;min-width:34px;color:var(--faint);font-size:16px}.stepper .qty.on{color:var(--ink);font-weight:700}.spacer{height:86px}.bar{border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;position:fixed;bottom:0;left:0;right:0}.bar .barrow{max-width:560px;margin:0 auto}.barrow{justify-content:space-between;align-items:center;gap:12px;display:flex}.barrow .btn{margin-top:0}.bstrong{font-weight:700}.qline{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:8px 0;display:flex}.qline:last-of-type{border-bottom:0}.totals{border-top:2px solid var(--line);margin-top:6px;padding-top:10px}.totals>div{color:var(--faint);justify-content:space-between;padding:2px 0;display:flex}.totals .grand{color:var(--ink);padding-top:6px;font-size:17px;font-weight:700}.field{margin:10px 0;display:block}.field span{color:var(--faint);margin-bottom:4px;font-size:13px;display:block}.field input,.field textarea{border:1px solid var(--line);border-radius:10px;width:100%;padding:12px;font-family:inherit;font-size:16px}.pimg{object-fit:contain;background:#fff;border-radius:8px;flex:none}.pimg.fallback{background:#e6f0ee;justify-content:center;align-items:center;font-size:22px;display:flex}.rail-wrap{margin-top:4px}.rail{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:10px;padding:2px 2px 10px;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rcard{scroll-snap-align:start;background:var(--card);border:1px solid var(--line);text-align:center;border-radius:12px;flex-direction:column;flex:0 0 128px;align-items:center;gap:6px;padding:10px 10px 12px;display:flex;position:relative}.rcard .pimg{width:92px;height:92px}.rtag{position:absolute;top:8px;left:8px}.rname{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:30px;font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.rprice{font-size:12px}.t-new{color:#1d4ed8;background:#dbeafe}.t-featured{color:#6d28d9;background:#ede9fe}.t-popular{color:var(--warm);background:#fef3c7}.chips{z-index:5;background:var(--bg);-webkit-overflow-scrolling:touch;gap:8px;padding:10px 2px;display:flex;position:sticky;top:0;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);white-space:nowrap;border-radius:99px;padding:8px 14px;font-size:14px;font-weight:600}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.pname .tag{vertical-align:1px;margin-left:6px}.qline{align-items:center}.qmain{flex:1;min-width:0}.upsell{background:#fbfdfc}.srow{align-items:center;gap:10px;padding:7px 0;display:flex}.srow+.srow{border-top:1px solid var(--line)}.btn.mini{background:var(--brand);color:#fff;border-radius:10px;margin:0;padding:8px 16px;font-size:14px}.stepper.small button{width:32px;height:32px;font-size:16px}.stepper.small .qty{min-width:26px;font-size:14px}.imgbtn{cursor:zoom-in;background:0 0;border:0;flex:none;padding:0;line-height:0;display:block}.zoom-backdrop{z-index:20;background:#10221f73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.zoom-sheet{background:var(--card);text-align:center;border-radius:18px;flex-direction:column;align-items:center;width:100%;max-width:400px;max-height:90vh;padding:26px 22px 20px;display:flex;position:relative;overflow-y:auto}.zoom-sheet .pimg{aspect-ratio:4/5;max-width:70vw;height:auto}.zoom-close{background:var(--bg);width:36px;height:36px;color:var(--faint);cursor:pointer;border:0;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:10px;right:12px}.zoom-name{margin-top:10px;font-size:17px;font-weight:700}.zoom-name .tag{vertical-align:2px;margin-left:6px}.zoom-meta{color:var(--faint);gap:10px;margin-top:4px;font-size:13px;display:flex}.zoom-price{margin-top:8px;font-size:18px;font-weight:700}.zoom-price .tag{vertical-align:3px;margin-left:8px}.zoom-stepper{margin-top:10px}.zoom-stepper button{width:48px;height:48px;font-size:22px}.zoom-stepper .qty{min-width:44px;font-size:20px}.req{color:var(--danger)}.field input.invalid{border-color:var(--danger)}.minhint{color:var(--warm);margin-top:8px;font-size:13px}.fill-list{width:100%;margin-top:10px}
