:root{font-family:Arial,"Microsoft YaHei",sans-serif;color:#21382f;background:#f4f5f0}*{box-sizing:border-box}body{margin:0}header{padding:24px 5%;display:flex;justify-content:space-between;border-bottom:1px solid #dce2d9;background:#fff}a{color:inherit;text-decoration:none}.brand{font-size:25px;font-weight:800;letter-spacing:3px}.brand small{font-size:16px;letter-spacing:1px;margin-left:16px;font-weight:400}main{max-width:1450px;margin:auto;padding:35px 5%}.eyebrow{font-size:12px;letter-spacing:2px;color:#587263}h1{font-size:42px;margin:16px 0}h2{font-size:20px}.intro,.muted{color:#66756d}.notice{padding:14px 18px;background:#e8eee3;border-radius:8px;font-size:13px;margin:24px 0}.toolbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap}label{display:grid;gap:8px;font-size:13px}input,select,button{font:inherit;border-radius:6px;padding:11px;border:1px solid #ced7ce;background:#fff}button{cursor:pointer;background:#254b39;color:white;border:0}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#edf1e9;color:#264331}#status{font-size:13px;min-height:20px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:30px}.section-title{display:flex;align-items:center;justify-content:space-between}.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.card{background:white;border:1px solid #e0e5dc;border-radius:12px;overflow:hidden}.card img{width:100%;aspect-ratio:1;object-fit:contain;background:#f1f2ef}.card-body{padding:20px}.card h3{font-size:17px;line-height:1.5;margin:8px 0}.card p{font-size:13px}.price{font-size:23px;font-weight:700;margin:18px 0}.card button{width:100%}aside{align-self:start;position:sticky;top:20px;background:white;padding:22px;border:1px solid #e0e5dc;border-radius:12px}aside h2{display:flex;justify-content:space-between}aside button{width:100%;margin-top:10px}.cart-line{border-bottom:1px solid #e2e7dd;padding:15px 0;font-size:13px}.cart-line input{width:80px;margin:8px}.cart-line button{width:auto;background:transparent;color:#775848;padding:4px}.total{display:flex;justify-content:space-between;padding:24px 0;font-size:17px}dialog{border:0;border-radius:14px;max-width:950px;width:90%;padding:36px;color:#21382f}dialog::backdrop{background:#18282090}.close{position:absolute;right:12px;top:10px;background:transparent;color:#21382f;font-size:26px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.hero{width:100%;aspect-ratio:1;object-fit:contain;background:#f2f3ef}.thumbnails{display:flex;gap:10px}.thumbnails button{padding:3px;background:#edf1e9}.thumbnails img{width:65px;height:65px;object-fit:cover}.detail-grid label{margin:16px 0}.detail-grid h2{line-height:1.5}#quote-status{font-size:13px;line-height:1.6}button:focus-visible,a:focus-visible{outline:3px solid #b69151;outline-offset:3px}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{position:static}.detail-grid{grid-template-columns:1fr}.products{gap:12px}h1{font-size:32px}}
[hidden]{display:none!important}

.brand-picker{position:relative;display:grid;gap:8px;min-width:210px;font-size:13px}#brand-toggle{background:white;color:#21382f;border:1px solid #cbd5ca;text-align:left}#brand-panel{position:absolute;top:100%;left:0;width:320px;max-width:85vw;background:white;border:1px solid #cbd5ca;padding:12px;z-index:20;box-shadow:0 8px 24px #0002;border-radius:8px}#brand-search{width:100%}#brand-options{max-height:280px;overflow:auto;margin-top:8px}#brand-options button{display:block;width:100%;background:white;color:#21382f;text-align:left}#brand-options button:hover,#brand-options button[aria-pressed=true]{background:#e8eee3}

.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin:24px 0}.pager button:disabled{opacity:.45;cursor:default}

.card img{height:auto}

/* Keep focused form controls readable without triggering iPhone input zoom.
   Native pinch zoom remains available through the unchanged viewport. */
input,select,textarea{font-size:16px}
@media(max-width:850px){
 .toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
 .toolbar>*,.toolbar label,.brand-picker{min-width:0;max-width:100%;width:100%}
 .toolbar input,.toolbar select,.toolbar button{width:100%;min-width:0;font-size:16px}
 #brand-panel{width:100%;max-width:100%}
 .layout>*,.detail-grid>*{min-width:0}
 .detail-grid input,.detail-grid select{min-width:0;max-width:100%}
 .card-body,.cart-line,#status{overflow-wrap:anywhere}
 .thumbnails{flex-wrap:wrap}
 header{gap:12px;flex-wrap:wrap}
}

/* Mobile keyboard, landscape dialog and touch-target support. */
button,input,select{min-height:44px}
#quote-text{width:100%;max-width:100%;resize:vertical;font:16px/1.5 Arial,"Microsoft YaHei",sans-serif}
#copy-fallback{margin-top:16px;min-width:0}
dialog{max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain}
#brand-options{overscroll-behavior:contain}
@media(max-width:850px){
 main{padding-bottom:max(35px,env(safe-area-inset-bottom))}
 dialog{padding:40px 18px 20px}
 #brand-options{max-height:35vh;max-height:35dvh}
 .card-body{padding:12px}
 .pager{gap:10px;flex-wrap:wrap}
 form label{min-width:0;margin-bottom:16px}
 form input{width:100%;min-width:0}
}
@media(max-width:360px){.products{grid-template-columns:minmax(0,1fr)}}

.checkout-link{display:block;text-align:center;background:#254b39;color:white;padding:14px;border-radius:6px;margin:12px 0}.checkout-form{max-width:650px;display:grid;gap:16px}.checkout-form textarea{font-size:16px;max-width:100%}.order-card{background:white;border:1px solid #ced7ce;padding:20px;margin:20px 0;border-radius:12px;overflow-wrap:anywhere}#confirmation{margin-top:24px;padding:20px;border:1px solid #ced7ce}#confirmation p{overflow-wrap:anywhere}

header > a:not(.brand){font-size:16px;}

.customer-header{justify-content:flex-start;align-items:center;gap:28px}.customer-header .brand{line-height:1.4;white-space:nowrap}.customer-nav{display:flex;align-items:center;gap:28px}.customer-nav a{display:flex;align-items:center;min-height:44px;font-size:16px;line-height:1.4;letter-spacing:0;white-space:nowrap}.customer-header form{margin:0 0 0 auto}.customer-header form button{font-size:16px;line-height:1.4}@media(max-width:600px){.customer-header,.customer-nav{gap:20px}}

.customer-header{flex-wrap:wrap;gap:20px}.customer-nav{gap:20px;flex-wrap:wrap}.customer-nav button,.customer-actions button{display:flex;align-items:center;gap:5px;background:transparent;color:inherit;padding:0;min-height:44px;font-size:16px;line-height:1.4;white-space:nowrap}.customer-nav small,.customer-actions small{font-size:10px;color:#66756d}.customer-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.customer-actions a{font-size:16px;white-space:nowrap}.customer-actions form{margin:0}.customer-nav [aria-current="page"]{text-decoration:underline;text-underline-offset:7px}#selection-list{scroll-margin-top:20px}@media(max-width:600px){.customer-nav{width:100%;gap:8px 18px}.customer-actions{width:100%;margin-left:0;justify-content:space-between;gap:12px}.customer-header{padding:16px 5%;gap:8px}}

.quantity-stepper{display:flex;align-items:stretch;width:170px;max-width:100%;height:46px;border:1px solid #cbd5ce;border-radius:6px;overflow:hidden;background:white}.quantity-stepper>button{flex:0 0 44px!important;width:44px!important;min-width:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#edf1ed!important;color:#214c3c!important;font-size:22px!important}.quantity-stepper>input{flex:1;min-width:0!important;width:70px!important;max-width:none!important;text-align:center;margin:0!important;padding:6px!important;border:0!important;border-radius:0!important;appearance:textfield;-moz-appearance:textfield}.quantity-stepper>input::-webkit-inner-spin-button,.quantity-stepper>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.wechat-note{font-size:14px;line-height:1.6}.wechat-consent{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.6}.wechat-consent input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;margin:3px 0 0;accent-color:#254b39}

.simple-register{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.simple-register main{width:100%;max-width:440px;padding:28px;background:#fff;border:1px solid #dce2d9;border-radius:16px}.register-brand{font-size:24px;font-weight:800;color:#205b48}.simple-register h1{font-size:26px;margin:20px 0 8px}.register-intro{font-size:14px;color:#66756d;margin:0 0 22px}.simple-register label{margin:0 0 6px;font-size:14px;gap:6px}.simple-register label:has(input){margin-bottom:14px}.simple-register input{width:100%;min-width:0;height:44px}.register-code,.register-password{display:flex;gap:8px}.register-code input,.register-password input{flex:1;width:0}.register-code button,.register-password button{white-space:nowrap;background:#edf3ef;color:#205b48;font-size:14px}.register-password button{min-width:56px}.simple-register #email-status{font-size:13px;color:#66756d;margin:6px 0 14px;overflow-wrap:anywhere}.simple-register #email-status:empty{margin:0 0 14px}.register-submit{width:100%;margin-top:20px;font-weight:600}.simple-register #status:empty{display:none}.simple-register #status{line-height:1.6}.register-login{font-size:14px;text-align:center;color:#66756d;margin:18px 0 0}.register-login a{color:#205b48;font-weight:600}@media(max-width:480px){.simple-register{padding:16px 12px;align-items:start}.simple-register main{padding:22px 20px}.simple-register h1{margin-top:16px}}

.simple-register .register-email-code{margin-top:8px}

.simple-register .register-email-control{border:1px solid #ced7ce;border-radius:8px;overflow:hidden;background:#fff}.simple-register .register-email-control:focus-within{outline:2px solid #254b39;outline-offset:1px}.simple-register .register-email-control .register-code{gap:0;border-bottom:1px solid #e5ebe5}.simple-register .register-email-control input{border:0;border-radius:0;outline:none;background:transparent}.simple-register .register-email-control .register-email-code{margin:0}.simple-register .register-email-control #send-code{border-radius:0;background:transparent;border-left:1px solid #e5ebe5;color:#205b48;padding:10px;min-width:100px}

.simple-register .register-password{gap:0;border:1px solid #ced7ce;border-radius:8px;overflow:hidden;background:#fff}.simple-register .register-password:focus-within{outline:2px solid #254b39;outline-offset:1px}.simple-register .register-password input{border:0;border-radius:0;outline:none;background:transparent}.simple-register .register-password button{display:grid;place-items:center;min-width:44px;width:44px;padding:0;border:0;border-radius:0;background:transparent;color:#66756d}.simple-register .register-password button:hover{color:#205b48;background:#f0f5f1}.password-eye-slash{display:none}#toggle-password[aria-pressed=true] .password-eye-slash{display:block}

.mall-bottom-nav svg{stroke-linecap:round;stroke-linejoin:round;color:#426957}
.mall-bottom-nav .nav-orange-accent{fill:#ef953e;stroke:#fff;stroke-width:1.2}
.mall-bottom-nav a[aria-current="page"]{color:#176440}
.mall-bottom-nav a[aria-current="page"] svg{background:#edf5ea;border-radius:9px}
@media(max-width:850px){.mall-bottom-nav{border-radius:18px 18px 0 0;box-shadow:0 -3px 16px #204a3710}.mall-bottom-nav a{min-height:48px}}

.account-policies{margin:20px 0 90px;padding:18px;background:#fff;border:1px solid #e0e9e1;border-radius:16px;color:#294e3e}
.account-policies h2{font-size:18px;margin:0 0 10px}
.account-policies details+details{border-top:1px solid #eaf0eb}
.account-policies summary{cursor:pointer;padding:15px 4px;font-weight:600}
.account-policies summary::marker{color:#e58b38}
.account-policies details>div{padding:0 8px 12px;font-size:14px;line-height:1.8;color:#53685d}
.account-policies p{margin:8px 0}

/* Shared brand picker scroll fix */

.searchable-brand{position:relative;min-width:0}.searchable-brand>button{width:100%;height:100%;min-height:44px;text-align:left;background:white;color:#21382f;border:1px solid #cbd5ca;border-radius:6px;padding:10px 14px}.searchable-brand-panel{position:absolute;top:100%;left:0;width:320px;max-width:85vw;box-sizing:border-box;background:white;border:1px solid #cbd5ca;padding:12px;z-index:30;box-shadow:0 8px 24px #0002;border-radius:8px}.searchable-brand-panel input{width:100%;box-sizing:border-box}.searchable-brand-options{max-height:min(280px,45vh);overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;margin-top:8px}.searchable-brand-options button{display:block;width:100%;text-align:left;background:white;color:#21382f;border:0;padding:12px}.searchable-brand-options button:hover,.searchable-brand-options button[aria-pressed=true]{background:#e8eee3}
.searchable-brand-options::-webkit-scrollbar{width:8px}.searchable-brand-options::-webkit-scrollbar-thumb{background:#9aafa1;border-radius:8px}.searchable-brand-options::-webkit-scrollbar-track{background:#f0f4ef}
