/* Tianyuan storefront layout, scoped to the customer storefront. */
body[data-app-role="customer"]{--blue:#16a052;--pink:#ee603d;--ink:#193b2b;--muted:#819087;--bg:#f5f7f5;--line:#e5ede6;background:#edf1ee;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
body[data-app-role="customer"]>.demo{max-width:1080px;margin:auto;background:#edf5e9;color:#71836d;font-size:10px;padding:6px 10px}
body[data-app-role="customer"]>header{max-width:1080px;background:linear-gradient(110deg,#ebfaf0,#fff 68%,#fff4ef);padding:16px;gap:12px;flex-wrap:wrap}
body[data-app-role="customer"] .brand{color:#1a743e;gap:9px}.brand b{letter-spacing:0!important}body[data-app-role="customer"] .brand b{font-size:21px}body[data-app-role="customer"] .brand small{font-size:10px;color:#789480}body[data-app-role="customer"] .shop-avatar{width:42px;height:42px;border-radius:12px}
body[data-app-role="customer"] .header-actions{gap:6px;flex-wrap:wrap}body[data-app-role="customer"] .header-actions button,body[data-app-role="customer"] .header-actions a{font-size:11px;padding:7px 10px;border-radius:20px}body[data-app-role="customer"] .header-actions>a[href="?mode=cloud"],body[data-app-role="customer"] #cloudCheckOpen{display:none}
body[data-app-role="customer"] #store{max-width:1080px;margin:auto;background:#f5f7f5;padding-bottom:150px}body[data-app-role="customer"] #store>main{padding:0 12px;max-width:none}body[data-app-role="customer"] .service-bar{background:#fff;color:#68816d;margin:0;padding:10px 16px;gap:8px;font-size:10px;flex-wrap:wrap}body[data-app-role="customer"] .service-bar b{font-size:10px}
body[data-app-role="customer"] .section-tabs{gap:10px;margin:0;padding:14px 0}body[data-app-role="customer"] .section-tabs button{flex:1;min-width:0;padding:12px;border-radius:12px;border:1px solid #dcebdd;background:#fff;color:#66806c}body[data-app-role="customer"] .section-tabs button.active{background:#e5f5e8;color:#178746;border-color:#a9dcb8}
body[data-app-role="customer"] .catalog-top{flex-wrap:wrap;gap:12px;background:#fff;border-radius:14px;padding:14px}body[data-app-role="customer"] .catalog-top>div{width:100%}body[data-app-role="customer"] .catalog-top h2{font-size:18px}body[data-app-role="customer"] .catalog-top input{width:100%;border:1.5px solid #26a95c;border-radius:24px;background:#fff;padding:11px 16px}body[data-app-role="customer"] .menu-refresh-controls{float:right;margin-top:-27px}body[data-app-role="customer"] .menu-refresh-controls button{padding:5px 8px;font-size:10px}body[data-app-role="customer"] .photo-note{margin-bottom:0}
body[data-app-role="customer"] .categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 3px;padding:18px 6px;background:#fff;margin:10px 0;border-radius:14px;overflow:visible}body[data-app-role="customer"] .categories button{display:flex;flex-direction:column;align-items:center;gap:7px;white-space:normal;font-size:10px;line-height:1.4;border:0;border-radius:10px;padding:4px 1px;color:#637568}body[data-app-role="customer"] .categories button:before{content:'🥬';display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#eff7e9;font-size:27px}body[data-app-role="customer"] .categories button:nth-child(1):before{content:'🛒'}body[data-app-role="customer"] .categories button:nth-child(2):before{content:'🥟';background:#fff3e6}body[data-app-role="customer"] .categories button:nth-child(3):before{content:'🍜';background:#fff4e8}body[data-app-role="customer"] .categories button:nth-child(4):before{content:'🍳';background:#fff8df}body[data-app-role="customer"] .categories button:nth-child(5):before{content:'🥚'}body[data-app-role="customer"] .categories button:nth-child(6):before{content:'🥩';background:#fff0eb}body[data-app-role="customer"] .categories button.active{color:#138542;font-weight:800;background:#eff9f0}
.garden-promo{padding:19px;margin:12px 0;border:1px solid #c9e6cd;border-radius:14px;background:linear-gradient(110deg,#e4f8e8,#c9ebc8);position:relative;overflow:hidden}.garden-promo strong{font-size:23px;color:#255e37}.garden-promo p{color:#578160;font-size:12px;margin:7px 0 0}.garden-promo span{display:inline-block;background:#ffffffb8;border-radius:16px;padding:4px 10px;margin-top:12px;font-size:10px;color:#468053}.garden-promo:after{content:'🥬 🥚';position:absolute;right:16px;bottom:17px;font-size:42px;opacity:.8}
body[data-app-role="customer"] #products.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}body[data-app-role="customer"] #products .product{border:1px solid #edf0eb;border-radius:13px;background:#fff;min-width:0;display:flex;flex-direction:column;overflow:hidden}body[data-app-role="customer"] #products .product-art{height:auto!important;aspect-ratio:1.2/1;background:#f7f9f2;display:block;position:relative;overflow:hidden}body[data-app-role="customer"] #products .product-art img{width:100%!important;height:100%!important;object-fit:cover!important;position:absolute;inset:0;border-radius:0}body[data-app-role="customer"] #products .product-body{padding:10px}body[data-app-role="customer"] #products h3{font-size:13px;line-height:1.5;margin:5px 0;min-height:38px}body[data-app-role="customer"] #products .product p{font-size:10px;min-height:0;margin:0 0 6px;color:#98a197}body[data-app-role="customer"] #products .price{font-size:20px;color:#ee603d;line-height:1.3}body[data-app-role="customer"] #products .price small{font-size:9px}body[data-app-role="customer"] #products .add{width:29px;height:29px;min-width:29px;border-radius:50%;background:#1ca454;font-size:22px}body[data-app-role="customer"] #products .stock-label{font-size:10px;color:#70a078}
body[data-app-role="customer"] #store>footer{margin:24px 12px 0;background:#fff;border-radius:14px;padding:18px;border:1px solid #e5ede6}body[data-app-role="customer"] #store>footer b{color:#21864b}body[data-app-role="customer"] #partnerRegister{border-color:#b8ddc1;background:#edf8ef;color:#238044}
.garden-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1080px,100%);z-index:25;background:#fffffff2;backdrop-filter:blur(16px);border-top:1px solid #e7ede8;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 5px calc(7px + env(safe-area-inset-bottom))}.garden-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;border-radius:0;padding:5px 2px;font-size:10px;color:#718579}.garden-nav svg{height:22px;width:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.garden-nav button.active{color:#16964c}.garden-nav button:focus-visible{outline:2px solid #16a052}
body[data-app-role="customer"] #cartButton{bottom:calc(78px + env(safe-area-inset-bottom));right:max(12px,calc((100vw - 1056px)/2));padding:11px 17px;background:#193b2b;border-radius:24px;font-size:12px}body[data-app-role="customer"] #cartButton span{background:#ee603d;margin-right:7px}body[data-app-role="customer"] #appInstallStatus{max-width:1080px;margin:0 auto;background:#fff;font-size:10px}body[data-app-role="customer"] #appInstallStatus:empty{display:none}
@media(min-width:760px){body[data-app-role="customer"] #products.products{grid-template-columns:repeat(4,minmax(0,1fr))!important}body[data-app-role="customer"] .categories{grid-template-columns:repeat(8,minmax(0,1fr))}.garden-promo{padding:24px}.garden-promo:after{right:35px;font-size:55px}body[data-app-role="customer"] .catalog-top{flex-wrap:nowrap}body[data-app-role="customer"] .catalog-top input{max-width:340px}}
@media(max-width:460px){body[data-app-role="customer"]>header{padding:12px}body[data-app-role="customer"] .header-actions{width:100%}body[data-app-role="customer"] .header-actions button,body[data-app-role="customer"] .header-actions a{font-size:10px;padding:5px 8px}.garden-promo strong{font-size:21px}.garden-promo:after{font-size:31px;right:8px;bottom:16px}.garden-promo p{max-width:73%;font-size:11px}}

/* Full-width signature banner for web and installed customer App. */
body[data-app-role="customer"] #store>main{display:block!important;min-width:0}.garden-promo{width:100%;min-width:0;grid-column:1/-1}.garden-promo:after{content:none}.garden-promo strong{display:block;line-height:1.4}.garden-signatures{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 2px}.garden-signatures b{background:#fff9e9;color:#6d501b;border:1px solid #e3d5ad;border-radius:12px;padding:8px 13px;font-size:15px;line-height:1.4}.garden-signatures b:last-child{color:#28623b;background:#ffffffbd;border-color:#b8dabf}@media(max-width:460px){.garden-promo p{max-width:100%}.garden-signatures b{font-size:14px;padding:8px 11px}}

.garden-signatures>div{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1;max-width:220px}.garden-signatures b{text-align:center}.signature-photo{height:110px;border-radius:12px;background:#ffffffb0;display:grid;place-items:center;overflow:hidden;font-size:50px}.signature-photo img{width:100%;height:100%;object-fit:cover}@media(max-width:460px){.signature-photo{height:95px}}

/* Text-only category navigation. */
body[data-app-role="customer"] .categories{display:flex!important;flex-wrap:wrap;gap:8px;padding:12px;align-items:center}
body[data-app-role="customer"] .categories button{display:block!important;flex:0 1 auto;max-width:100%;white-space:normal;font-size:13px;line-height:1.5;padding:10px 13px;border:1px solid #e0e9e1;border-radius:10px;background:#fff;color:#617668}
body[data-app-role="customer"] .categories button:before,body[data-app-role="customer"] .categories button img{display:none!important;content:none!important}
body[data-app-role="customer"] .categories button.active{color:#157a3b;background:#e4f5e8;border-color:#a8d5b3}
/* Left category sidebar and right product catalogue. */
body[data-app-role="customer"] #store>main{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:10px;align-items:start;padding:0 10px}
body[data-app-role="customer"] #store .section-tabs{grid-column:1/-1;grid-row:1;margin:0}
body[data-app-role="customer"] #store .garden-promo{grid-column:1/-1;grid-row:2;margin:0}
body[data-app-role="customer"] #store .catalog-top{grid-column:1/-1;grid-row:3;margin:0}
body[data-app-role="customer"] #store #categories{grid-column:1;grid-row:4;display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;position:sticky!important;top:10px;width:100%;min-width:0;max-height:calc(100dvh - 100px);overflow-y:auto;overflow-x:hidden;gap:5px;padding:6px;background:#edf3ed;border-radius:12px;margin:0;align-items:stretch}
body[data-app-role="customer"] #store #categories button{width:100%!important;max-width:100%;min-width:0;min-height:44px;flex:none!important;text-align:center;white-space:normal;overflow-wrap:break-word;padding:11px 5px;font-size:11px;line-height:1.5;border:0;border-radius:8px;background:transparent;display:block!important}
body[data-app-role="customer"] #store #categories button.active{background:white;color:#157a3b;box-shadow:0 1px 5px #213b2420}
body[data-app-role="customer"] #store #products.products{grid-column:2;grid-row:4;grid-template-columns:minmax(0,1fr)!important;min-width:0;margin:0;gap:10px!important}
@media(min-width:600px){body[data-app-role="customer"] #store>main{grid-template-columns:150px minmax(0,1fr)!important}body[data-app-role="customer"] #store #categories button{font-size:12px;padding:13px 8px}body[data-app-role="customer"] #store #products.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1000px){body[data-app-role="customer"] #store #products.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Tianyuan-style catalogue rows: photo left, details and quantity right. */
body[data-app-role="customer"] #store>main{grid-template-columns:78px minmax(0,1fr)!important;gap:9px}
body[data-app-role="customer"] #store #categories{padding:4px 0;background:#f4f6f4;border-radius:0;gap:0}
body[data-app-role="customer"] #store #categories button{border-radius:0;padding:17px 5px;position:relative;font-size:11px;color:#7c897f;box-shadow:none;min-height:54px}
body[data-app-role="customer"] #store #categories button.active{background:#fff;color:#158344;font-weight:750;box-shadow:none}
body[data-app-role="customer"] #store #categories button.active:after{content:'';position:absolute;left:0;top:18px;bottom:18px;width:3px;background:#20a253;border-radius:3px}
body[data-app-role="customer"] #store #products.products{display:flex!important;flex-direction:column;gap:0!important;background:#fff;padding:0 9px}
body[data-app-role="customer"] #store #products .product{display:grid!important;grid-template-columns:68px minmax(0,1fr);gap:9px;align-items:start;border:0;border-bottom:1px solid #edf0ec;border-radius:0;padding:14px 0;min-width:0}
body[data-app-role="customer"] #store #products .product-art{width:68px;height:76px!important;aspect-ratio:auto;border-radius:9px;background:#f4f7ef;font-size:32px}
body[data-app-role="customer"] #store #products .product-body{padding:0;min-width:0;display:flex;flex-direction:column;gap:3px}
body[data-app-role="customer"] #store #products .product .category{display:none}
body[data-app-role="customer"] #store #products h3{font-size:12px;min-height:0;margin:0 0 3px;line-height:1.45;overflow-wrap:anywhere}
body[data-app-role="customer"] #store #products .product p{font-size:10px;min-height:0;margin:0;line-height:1.4}
body[data-app-role="customer"] #store #products .stock-label{font-size:9px;line-height:1.3}
body[data-app-role="customer"] #store #products .product-bottom{margin-top:4px;gap:5px;flex-wrap:wrap}
body[data-app-role="customer"] #store #products .price{font-size:17px;line-height:1.3}
body[data-app-role="customer"] #store #products .price small{font-size:9px}
.catalog-stepper{display:flex;align-items:center;gap:5px;margin-left:auto;flex-shrink:0}.catalog-stepper span{font-size:11px;min-width:12px;text-align:center}
body[data-app-role="customer"] #store #products .add,body[data-app-role="customer"] #store #products .catalog-minus{width:24px;height:24px;min-width:24px;min-height:24px;padding:0;border-radius:50%;font-size:20px;line-height:1;display:grid;place-items:center}
body[data-app-role="customer"] #store #products .catalog-minus{border:1px solid #dce7dd;background:#fff;color:#2e9253}
@media(min-width:600px){body[data-app-role="customer"] #store>main{grid-template-columns:135px minmax(0,1fr)!important}body[data-app-role="customer"] #store #products .product{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:18px 0}body[data-app-role="customer"] #store #products .product-art{width:100px;height:100px!important}body[data-app-role="customer"] #store #products h3{font-size:15px}body[data-app-role="customer"] #store #products .price{font-size:21px}body[data-app-role="customer"] #store #categories button{font-size:13px}}
/* Keep storefront text legible over the pale green header. */
body[data-app-role="customer"]>header{color:#193b2b}
body[data-app-role="customer"]>header .brand,body[data-app-role="customer"]>header .brand b,body[data-app-role="customer"]>header #brandName{color:#144ba5!important}
body[data-app-role="customer"]>header .brand small{color:#45668d!important}
body[data-app-role="customer"]>header .header-actions button,body[data-app-role="customer"]>header .header-actions a{color:#144ba5!important;background:#ffffff!important;border:1px solid #b9cfee!important;opacity:1!important;font-weight:600}
body[data-app-role="customer"]>header .header-actions button:hover,body[data-app-role="customer"]>header .header-actions a:hover{color:#0c367b!important;background:#eaf1fd!important;border-color:#8eafe0!important}
/* Peiqi brand palette: deep navy with pink accents. */
body[data-app-role="customer"]{--blue:#046bba;--pink:#e64480;--ink:#173654;--muted:#73809a;--bg:#f6f7fc;--line:#e5e9f3;background:#eef1f8;color:#173654}
body[data-app-role="customer"]>.demo{background:#fce7ef;color:#9a325b}
body[data-app-role="customer"]>header{background:linear-gradient(115deg,#04599d,#046bba 70%,#0875c3);color:#fff;border-radius:0 0 20px 20px}
body[data-app-role="customer"]>header .brand,body[data-app-role="customer"]>header .brand b,body[data-app-role="customer"]>header #brandName{color:#fff!important}
body[data-app-role="customer"]>header .brand small{color:#e5c6d9!important}
body[data-app-role="customer"]>header .header-actions button,body[data-app-role="customer"]>header .header-actions a{color:#fff!important;background:#ffffff12!important;border:1px solid #a2b2d0!important}
body[data-app-role="customer"]>header .header-actions button:hover,body[data-app-role="customer"]>header .header-actions a:hover{color:#173654!important;background:#fce8f1!important;border-color:#e7a6c4!important}
body[data-app-role="customer"] #store{background:#f6f7fc}
body[data-app-role="customer"] .service-bar{color:#52637e;border-color:#efc2d7;background:#fff}
body[data-app-role="customer"] .service-bar b{color:#b72c64}
body[data-app-role="customer"] .section-tabs button{background:#fff;color:#62718c;border-color:#dbe2ee}
body[data-app-role="customer"] .section-tabs button.active{background:#046bba;color:#fff;border-color:#046bba}
body[data-app-role="customer"] .catalog-top{background:#fff;color:#046bba}
body[data-app-role="customer"] .catalog-top input{border-color:#6684b0;background:#fff;color:#173654}
body[data-app-role="customer"] .garden-promo{background:linear-gradient(115deg,#046bba,#046bba);border-color:#274a80}
body[data-app-role="customer"] .garden-promo strong{color:#fff}
body[data-app-role="customer"] .garden-promo p{color:#e0e7f4}
body[data-app-role="customer"] .garden-promo>span{background:#f8ccde;color:#8c3e66}
body[data-app-role="customer"] .garden-signatures b,body[data-app-role="customer"] .garden-signatures b:last-child{background:#fbdce8;color:#a62b5b;border-color:#e99bb8}
body[data-app-role="customer"] .signature-photo{background:#edf1f8}
body[data-app-role="customer"] #store #categories{background:#edf0f7}
body[data-app-role="customer"] #store #categories button{color:#697993}
body[data-app-role="customer"] #store #categories button.active{background:#fbdce8;color:#046bba}
body[data-app-role="customer"] #store #categories button.active:after{background:#e64480}
body[data-app-role="customer"] #store #products .product{border-bottom-color:#e7eaf2}
body[data-app-role="customer"] #store #products h3{color:#173654}
body[data-app-role="customer"] #store #products .product p,body[data-app-role="customer"] #store #products .stock-label{color:#75839c}
body[data-app-role="customer"] #store #products .price{color:#c92e69}
body[data-app-role="customer"] #store #products .add{background:#046bba;color:#fff}
body[data-app-role="customer"] #store #products .catalog-minus{color:#046bba;border-color:#c7d3e6}
body[data-app-role="customer"] #store>footer{color:#6d7c95;border-color:#e0e6f0;background:#fff}
body[data-app-role="customer"] #store>footer b{color:#046bba}
body[data-app-role="customer"] #partnerRegister{color:#046bba;background:#fce7ef;border-color:#e99bb8}
body[data-app-role="customer"] #cartButton{background:#046bba;color:#fff}
body[data-app-role="customer"] #cartButton span{background:#e64480;color:#173654}
body[data-app-role="customer"] .garden-nav{border-color:#e0e6f0;background:#fffffff2}
body[data-app-role="customer"] .garden-nav button{color:#78859a}
body[data-app-role="customer"] .garden-nav button.active{color:#046bba}
body[data-app-role="customer"] .garden-nav button.active span{color:#c92e69}
body[data-app-role="customer"] .shop-feature-dialog{color:#173654}
body[data-app-role="customer"] .shop-feature-dialog .primary{background:#046bba;color:#fff}
body[data-app-role="customer"] .service-contact{background:#f2f5fb;color:#046bba;border-color:#d3deef}
body[data-app-role="customer"] .account-tabs [aria-pressed="true"]{background:#fce7ef;color:#046bba;border-color:#e99bb8}
body[data-app-role="customer"] .account-welcome{background:#edf1f9}
body[data-app-role="customer"] .photo-zoom-hint{color:#046bba;background:#fffffff0}

/* One shared navigation for browser and installed customer app. */
body[data-app-role="customer"] .app-bottom-nav{display:none!important}
body[data-app-role="customer"] #cartButton{display:none!important}
body[data-app-role="customer"] .garden-nav{box-sizing:border-box;right:auto;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}
body[data-app-role="customer"] .garden-nav[hidden]{display:none!important}
