:root{--green:#106a4b;--green2:#0b4d39;--gold:#d4ac57;--text:#223a2e;--muted:#708075;--soft:#f6faf7;--line:#dfebe3;--white:#fff;--shadow:0 7px 24px #0f5f3d0a;font-family:Tahoma,Arial,"Segoe UI",sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--soft);line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green)}.hidden{display:none!important}.wrap{width:min(1100px,calc(100% - 32px));margin-inline:auto}.top{position:sticky;top:0;background:#fffc;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:30}.topinner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{border:0;background:none;display:flex;align-items:center;gap:10px;text-align:right;padding:0;color:var(--green2)}.brand img{width:53px;height:53px;border-radius:50%;border:2px solid #eddfb2;object-fit:cover}.brand strong{font-size:20px;display:block;line-height:1.4}.brand strong small{font-size:12px;color:#8b7939;letter-spacing:.5px}.brand em{font-style:normal;font-size:11px;display:block;color:var(--muted)}.headActions{display:flex;align-items:center;gap:8px}.quiet,.cartTop,.secondary{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 13px;color:var(--green2);font-weight:700}.cartTop,.primary{border:0;background:var(--green);color:white;border-radius:12px;padding:11px 16px;font-weight:800}.cartTop span{background:#fff;color:var(--green);padding:1px 7px;border-radius:90px;margin-right:5px}.view{padding:23px 0 74px;min-height:70vh}.welcome{background:linear-gradient(115deg,#0d674a,#0a4b37);border-radius:22px;color:white;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.welcome .eyebrow{font-size:12px;color:#f6db92;font-weight:800}.welcome h1{font-size:clamp(22px,3vw,34px);margin:5px 0 8px;line-height:1.55}.welcome h1 span{color:#f3db9f}.welcome p{font-size:14px;opacity:.94;margin:0}.welcomeMark{font-size:65px;color:#d8b85b77;margin-left:22px}.searchline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}.searchline input{border:1px solid var(--line);background:white;border-radius:14px;padding:13px 15px;flex:1;min-width:0;outline-color:var(--green)}.searchline span{font-size:12px;color:var(--muted)}.sectiontop{display:flex;justify-content:space-between;align-items:end;margin:22px 0 10px;gap:12px}.sectiontop h2{font-size:20px;margin:0}.sectiontop span{font-size:12px;color:var(--muted)}.categoryPills{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px}.pill{background:#fff;color:var(--green2);padding:9px 17px;border-radius:999px;border:1px solid var(--line);white-space:nowrap;font-weight:800;font-size:13px}.pill.current{background:var(--green);color:#fff;border-color:var(--green)}.productsTop{margin-top:27px}.productGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.productCard{background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow);padding:14px;min-width:0}.productCard .productTop{display:flex;gap:13px;align-items:center}.productArt{width:95px;height:96px;flex-shrink:0;border-radius:14px;overflow:hidden;background:#eff5f0;display:grid;place-items:center;color:#82a593;font-size:32px}.productArt img{width:100%;height:100%;object-fit:cover}.productDetail{min-width:0}.productDetail small{font-size:11px;color:var(--muted)}.productDetail h3{font-size:15px;margin:3px 0;line-height:1.5;overflow-wrap:anywhere}.price{color:var(--green);font-size:19px;font-weight:900}.price small{font-size:11px;color:var(--muted);font-weight:400}.productDesc{font-size:12px;color:var(--muted);margin:8px 0 0;min-height:18px;overflow-wrap:anywhere}.productBody{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.segment{display:flex;background:#f2f6f2;border-radius:11px;padding:4px;gap:4px}.segment button{flex:1;border:0;border-radius:8px;color:var(--green2);font-weight:700;background:transparent;font-size:12px;padding:8px 3px}.segment button.active{background:white;box-shadow:0 2px 8px #0001}.unitNote{font-size:11px;color:var(--muted);min-height:20px;margin-top:6px}.buyLine{display:flex;align-items:center;gap:8px;margin-top:7px}.qtyBox{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#f8faf8;overflow:hidden}.qtyBox button{width:31px;height:39px;background:none;border:0;color:var(--green);font-size:21px;font-weight:900}.qtyBox input{width:41px;text-align:center;border:0;background:none;font-weight:800;outline:none;appearance:textfield;-moz-appearance:textfield}.qtyBox input::-webkit-inner-spin-button{appearance:none}.addCart{background:var(--green);border:0;color:white;min-height:40px;padding:4px 8px;border-radius:10px;flex:1;font-weight:800;font-size:12px}.addCart:disabled{background:#a9b7ae}.empty{grid-column:1/-1;border:1px dashed #cbded0;border-radius:16px;background:white;padding:30px;text-align:center;color:var(--muted)}h1{font-size:25px;margin:5px 0}.subtitle,.hint{font-size:13px;color:var(--muted);margin-top:3px}.back{border:0;color:var(--green);background:transparent;padding:2px 0;font-weight:800}.cartLayout{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-top:22px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:var(--shadow)}.cartItem{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:13px 0}.cartItem:first-child{padding-top:0}.cartItem:last-child{border-bottom:0}.cartItemInfo{flex:1}.cartItemInfo strong{display:block;font-size:14px}.cartItemInfo small{font-size:11px;color:var(--muted)}.cartItemPrice{color:var(--green);font-weight:900}.cartItemControls{display:flex;align-items:center;gap:7px}.cartItemControls button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);min-width:30px;min-height:30px}.cartItemControls .remove{color:#b44b40}.cartTotal{border-top:1px solid var(--line);padding-top:17px;margin-top:8px;display:flex;justify-content:space-between;font-size:18px;font-weight:900}.cartTotal strong{color:var(--green)}.orderForm h2{margin:0 0 12px;font-size:19px}label{display:block;font-size:13px;font-weight:800;color:var(--green2);margin-bottom:12px}label b{color:#be3e37}input:not([type=checkbox]):not([type=file]),textarea,select{width:100%;padding:12px 13px;border:1px solid #d5e0d8;border-radius:11px;margin-top:6px;background:#fff;color:var(--text);outline-color:var(--green)}input[type=file]{width:100%;max-width:100%;margin-top:7px;font-size:12px}textarea{resize:vertical}.wide{width:100%;margin-top:5px}.authCard{max-width:470px;margin:25px auto;padding:24px}.authCard h1{font-size:23px}.textBtn{border:0;background:transparent;color:var(--green);font-weight:800;padding:13px 0}.adminTitle{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px}.adminTabs{display:flex;gap:7px;overflow-x:auto;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:21px}.adminTabs button{background:#fff;color:var(--green2);border:1px solid var(--line);padding:10px 15px;border-radius:10px;white-space:nowrap;font-weight:800;font-size:13px}.adminTabs button.on{background:var(--green);color:#fff}.adminPanel h2{margin-top:0}.adminHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.adminHeading h2{margin:0}.editForm{margin:12px 0 20px}.editForm h3{margin:0 0 13px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.calculated{background:#f0f8f1;border-radius:9px;padding:8px 12px;color:var(--green);font-weight:800}.checkrow{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0}.checkrow label{margin:0}.actions,.formInline{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.formInline label{flex:1;min-width:150px;margin:0}.adminList{display:grid;gap:8px}.adminRow{background:#fff;border:1px solid var(--line);padding:13px 15px;border-radius:13px;display:flex;align-items:center;gap:12px;justify-content:space-between}.adminRow strong{font-size:15px}.adminRow small{display:block;color:var(--muted);font-size:12px}.rowBtns{display:flex;gap:6px;flex-wrap:wrap}.rowBtns button{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:8px;padding:7px 11px;font-size:12px;font-weight:800}.rowBtns button.danger{color:#b64e45}.logoPreview{display:flex;align-items:center;gap:12px;margin-bottom:10px}.logoPreview img{height:75px;width:75px;border-radius:16px;object-fit:cover}.notice{background:#fff4d9;border-bottom:1px solid #eed7aa;color:#74561f;padding:9px 16px;text-align:center;font-size:12px}.footer{border-top:1px solid var(--line);background:#fff;font-size:12px;color:var(--muted);padding:18px 0}.footer .wrap{display:flex;justify-content:space-between}.mobileBasket{display:none}#toast{position:fixed;bottom:18px;right:50%;transform:translateX(50%) translateY(110px);z-index:100;color:#fff;background:#173f2d;padding:12px 20px;border-radius:12px;box-shadow:0 6px 20px #0004;font-size:13px;max-width:90vw;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translateX(50%) translateY(0)}
@media(max-width:800px){.productGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.cartLayout{grid-template-columns:1fr}.welcomeMark{display:none}}@media(max-width:600px){.wrap{width:calc(100% - 26px)}.topinner{min-height:69px}.brand img{width:46px;height:46px}.brand strong{font-size:17px}.brand strong small{font-size:10px}.brand em{font-size:10px}.headActions{gap:6px}.headActions button{font-size:13px;padding:9px}.headActions .desktop{display:none}.welcome{padding:22px 19px;border-radius:18px}.welcome h1{font-size:23px}.welcome p{font-size:12px}.view{padding-top:15px}.sectiontop{margin-top:18px}.productGrid{grid-template-columns:1fr;gap:11px}.productArt{width:90px;height:90px}.productCard{padding:13px}.searchline span{display:none}.adminTitle h1{font-size:21px}.formGrid{grid-template-columns:1fr}.adminRow{align-items:flex-start;flex-direction:column}.rowBtns{width:100%}.mobileBasket{display:block;position:fixed;bottom:0;left:0;right:0;padding:9px 13px calc(9px + env(safe-area-inset-bottom));background:#fffe;z-index:25;border-top:1px solid var(--line)}.mobileBasket button{display:flex;width:100%;align-items:center;justify-content:space-between;background:var(--green);color:white;padding:12px 17px;border:0;border-radius:12px;font-weight:900}.mobileBasket b{background:#fff;color:var(--green);padding:1px 8px;border-radius:99px}.footer{padding-bottom:100px}#toast{bottom:82px}}

/* V2: pictured category cards and friendly mobile admin controls */
.categoryCards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.categoryCard{min-width:0;position:relative;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;gap:7px;text-align:center;border:1px solid #e0e9e0;background:#fff;border-radius:19px;padding:12px 7px 11px;color:var(--text);box-shadow:var(--shadow);transition:transform .16s,border-color .16s,box-shadow .16s;overflow:hidden}
.categoryCard:hover{transform:translateY(-2px);border-color:#91c3a1;box-shadow:0 9px 25px #145a3a14}
.categoryCard.selected{border:2px solid var(--green);padding:11px 6px 10px;background:#f1faf3;box-shadow:0 5px 18px #14613c19}
.categoryVisual{display:grid;place-items:center;position:relative;overflow:hidden;flex:none;width:100%;height:88px;border-radius:14px;background:linear-gradient(145deg,#f4f7ed,#e4eee5)}
.categoryVisual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.categoryVisual .catEmoji{display:grid;place-items:center;font-size:40px;line-height:1.2;z-index:1;width:100%;height:100%}
.categoryCard .catName{display:block;font-size:13px;font-weight:900;line-height:1.5;overflow-wrap:anywhere;min-height:37px}
.categoryCard small{font-size:11px;color:var(--muted)}.categoryCard.selected small{color:var(--green)}
.allCategories .categoryVisual{background:linear-gradient(145deg,#ebf4ed,#d7ebdd)}
.categoryEditor{margin-top:10px;padding:22px}
.catEditGrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(175px,1fr);gap:20px;align-items:start}
.catEditInputs{min-width:0}.fieldHint{display:block;margin:5px 0;font-weight:400;font-size:11px;color:var(--muted)}
.categoryPreviewArea{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border:1px dashed #cbded0;border-radius:15px;background:#f9fcf9}
.fieldTitle{display:block;font-weight:800;font-size:13px;color:var(--green2)}
.catPreviewCard{width:170px;max-width:100%;cursor:default}.catPreviewCard:hover{transform:none}
.catPreviewCard .categoryVisual{height:116px}.catPreviewCard small{min-height:0}
.catRemoveLabel{font-size:12px;color:#8b5f27;background:#fff7e8;border-radius:9px;padding:8px 10px}
.iconPickerSection{margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.categoryIconPicker{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:7px;margin:10px 0 14px}
.iconPick{min-width:0;border:1px solid var(--line);border-radius:11px;padding:10px 4px 7px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:3px}
.iconPick span{font-size:29px;line-height:1.3}.iconPick small{font-size:10px;color:var(--muted);line-height:1.2}
.iconPick:hover{background:#f1f8ef;border-color:#9bc1a5}.iconPick.selected{background:#ebf7ec;border:2px solid var(--green);padding:9px 3px 6px}
.adminCategoryLeft{display:flex;align-items:center;gap:13px;min-width:0;flex:1}
.categoryThumb{width:58px;height:58px;flex-shrink:0}.categoryThumb .categoryVisual{height:100%;border-radius:12px}.categoryThumb .catEmoji{font-size:27px}
.catAdminRow .adminCategoryLeft strong{overflow-wrap:anywhere}
@media(max-width:1100px){.categoryCards{grid-template-columns:repeat(3,minmax(0,1fr))}.categoryIconPicker{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:650px){.categoryCards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.categoryCard{padding:8px 5px 9px;border-radius:13px}.categoryCard.selected{padding:7px 4px 8px}.categoryVisual{height:78px;border-radius:10px}.categoryVisual .catEmoji{font-size:35px}.categoryCard .catName{font-size:12px;min-height:36px}.catEditGrid{grid-template-columns:1fr}.categoryEditor{padding:15px}.catPreviewCard{width:185px}.categoryIconPicker{grid-template-columns:repeat(4,minmax(0,1fr))}.adminCategoryLeft{gap:9px}.catAdminRow{flex-direction:row;flex-wrap:wrap}.catAdminRow .rowBtns{width:auto;flex:0 0 100%;justify-content:flex-start}}
@media(max-width:370px){.categoryCards{grid-template-columns:repeat(2,minmax(0,1fr))}}
