:root{--red:#e30613;--ink:#161616;--muted:#6d6d73;--line:#ececef;--soft:#fff5f5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff}.topbar{min-height:182px;background:linear-gradient(135deg,var(--red),#b70c17);color:#fff;display:grid;grid-template-columns:82px 1fr 96px;align-items:center;gap:8px;padding:24px 20px 20px;position:relative}.contact{color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:800;font-size:12px;min-width:70px}.contact-icon{width:46px;height:46px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:24px}.contact.disabled{opacity:.45;pointer-events:none}.brandbox{text-align:center;min-width:0}.brandbox img{max-width:180px;max-height:92px;object-fit:contain;display:block;margin:auto}.logo-placeholder{border:1.5px dashed rgba(255,255,255,.7);border-radius:14px;min-height:84px;padding:14px 10px;display:flex;align-items:center;justify-content:center;gap:10px}.logo-placeholder small{display:block;opacity:.8;font-weight:500;margin-top:3px}.logo-pic{font-size:34px}.brandname{font-weight:900;font-size:18px;margin-top:8px}.categories{display:flex;gap:10px;overflow-x:auto;padding:18px 18px 12px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #f1f1f3;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.catbtn{flex:0 0 96px;min-height:78px;border:1px solid #e5e5e8;background:#fff;border-radius:16px;padding:9px 8px;font:inherit;color:#333;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.catbtn span{font-size:25px}.catbtn b{font-size:12px;line-height:1.2}.catbtn.active{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 8px 20px rgba(227,6,19,.18)}main{max-width:980px;margin:0 auto;padding-bottom:26px}.searchwrap{margin:14px 18px 20px;border:1px solid #dfdfe4;border-radius:15px;height:50px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#fff}.searchwrap span{font-size:26px;color:#999}.searchwrap input{border:0;outline:0;width:100%;font-size:16px;background:transparent}.section-head{display:flex;align-items:center;gap:12px;padding:4px 20px 14px}.section-head h1{font-size:22px;margin:0 0 3px}.section-head p{margin:0;color:var(--muted);font-size:14px}.section-icon{font-size:30px;color:var(--red)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 16px}.product{border:1px solid #e7e7ea;border-radius:16px;background:#fff;min-width:0;padding:12px 10px;text-align:left;display:flex;flex-direction:column;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.04)}.product img{width:100%;height:120px;object-fit:contain;border-radius:12px;margin-bottom:9px}.pname{font-weight:800;font-size:15px;line-height:1.2;min-height:36px}.psize{font-size:13px;color:var(--muted);margin-top:4px}.price{font-weight:900;color:var(--red);font-size:17px;margin-top:9px;line-height:1.1}.footerinfo{margin:22px 16px 0;border-radius:16px;background:linear-gradient(135deg,var(--red),#b70c17);color:#fff;padding:17px;text-align:center}.footerinfo b{font-size:14px}.footerinfo p{font-size:12px;opacity:.9;line-height:1.45}.footerinfo a{color:#fff;font-size:11px;opacity:.95}.modal{position:fixed;inset:0;background:rgba(18,18,22,.72);display:none;align-items:flex-end;z-index:80;padding-top:40px}.modal.open{display:flex}.sheet{background:#fff;width:100%;max-width:620px;margin:auto;border-radius:26px 26px 0 0;max-height:94vh;overflow-y:auto;position:relative;padding:22px 20px 28px}.close{position:sticky;top:0;margin-left:auto;z-index:5;width:42px;height:42px;border-radius:50%;border:1px solid #eee;background:#fff;font-size:28px;color:var(--red);display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.1);cursor:pointer}.detail-top{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;margin-top:-20px}.detail-top img{width:150px;height:170px;object-fit:contain}.detail-title{font-size:24px;margin:0}.detail-size{color:var(--muted);margin:5px 0 12px}.detail-price{display:inline-block;background:var(--red);color:#fff;border-radius:10px;padding:9px 13px;font-weight:900;font-size:18px}.detail-desc{margin:16px 0 20px;line-height:1.5;color:#333}.divider{height:1px;background:var(--line);margin:18px 0}.subhead{font-size:17px;margin:0 0 11px}.allergen-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.allergen-card{border:1px solid #e7e7ea;border-radius:12px;padding:7px;text-align:center;min-width:0;background:#fff}.allergen-photo{width:54px;height:54px;border-radius:50%;margin:0 auto 6px;background-image:var(--official-poster);background-repeat:no-repeat;background-size:360% auto;background-position:var(--x) var(--y);background-color:#fff5f5;border:2px solid #fff;box-shadow:0 0 0 1px #ececef}.allergen-name{font-weight:800;font-size:10px;line-height:1.15}.allergen-status{font-size:9px;margin-top:4px;color:#666}.allergen-status.contains{color:var(--red);font-weight:900}.allergen-status.may{color:#a76a00;font-weight:800}.allergen-empty{padding:14px;border-radius:12px;background:#f7f7f8;color:#666;font-size:13px}.nutrition{width:100%;border-collapse:collapse;font-size:13px}.nutrition th,.nutrition td{border-bottom:1px solid #eee;padding:10px 6px;text-align:left}.nutrition td:nth-child(2),.nutrition td:nth-child(4){text-align:right;font-weight:700}.note{font-size:11px;color:#777;line-height:1.45;margin-top:12px}.source{display:block;font-size:11px;color:var(--red);margin-top:10px}@media(min-width:760px){body{background:#f5f5f7}.topbar{max-width:980px;margin:auto;border-radius:0 0 22px 22px}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product img{height:145px}}@media(max-width:359px){.topbar{grid-template-columns:64px 1fr 72px;padding-left:10px;padding-right:10px}.contact{font-size:10px}.contact-icon{width:40px;height:40px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.allergen-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-top{grid-template-columns:110px 1fr}.detail-top img{width:110px;height:145px}}.category-badge{display:none;align-self:flex-start;background:#fff0f1;color:var(--red);font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px;margin:-2px 0 7px}.product.search-result .category-badge{display:inline-flex}.empty-state{margin:20px 16px;padding:28px 18px;border:1px dashed #d9d9de;border-radius:16px;text-align:center;color:var(--muted);font-weight:700}.detail-category{display:inline-flex;background:#fff0f1;color:var(--red);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;margin-bottom:8px}
