:root{--primary:#0e5b43;--primary-2:#0f7454;--soft:#eef7f2;--soft2:#f6faf8;--accent:#ec6b2d;--text:#16231f;--muted:#66756f;--line:#dfe9e4;--card:#fff;--sky:#0e5b43;--shadow:0 14px 36px #0c443114;--shadow-sm:0 8px 20px #0c443114;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:#fff;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.container{width:min(1180px,100% - 36px);margin:auto}section{padding:70px 0}.section-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;display:flex}.section-kicker{color:var(--primary);letter-spacing:.08em;margin-bottom:7px;font-size:13px;font-weight:800}.section-title{letter-spacing:.01em;margin:0;font-family:Noto Serif TC,Noto Serif CJK TC,Songti TC,PMingLiU,serif;font-size:32px;font-weight:900;line-height:1.2}.section-sub{color:var(--muted);margin-top:6px;font-size:14px}.btn{cursor:pointer;border:0;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:700;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 20px #ec6b2d2e}.btn-primary:hover{filter:brightness(.95);transform:translateY(-1px)}.btn-green{background:var(--primary);color:#fff}.btn-green:hover{background:var(--primary-2)}.btn-outline{color:var(--primary);background:#fff;border:1px solid #0e5b433d}.btn-outline:hover{background:var(--soft)}.surface{background:#f5faf7}.products-section{background:#fff}.products-top{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.product-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:28px;display:grid}.sidebar{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;padding:18px;position:sticky;top:92px}.sidebar-title{text-align:center;margin:0 0 15px;font-size:18px;font-weight:900}.sidebar-line{background:#0e5b4340;height:2px;margin-bottom:18px}.cat-btn{color:#24342e;text-align:left;cursor:pointer;background:#f7f9f8;border:1px solid #0000;border-radius:10px;width:100%;margin-bottom:9px;padding:10px 14px;font-size:14px;font-weight:700;transition:all .15s}.cat-btn:hover{color:var(--primary);background:#edf7f2}.cat-btn.active{background:var(--primary);color:#fff;box-shadow:0 10px 18px #0e5b4329}.group-title{color:var(--primary);margin:18px 0 9px;font-size:15px;font-weight:900}.sub-group .cat-btn{background:#fbfbfb;border-color:#e7eeeb;width:calc(100% - 13px);margin-left:13px;font-size:13px}.sub-group .cat-btn.active{background:var(--soft);color:var(--primary);border-color:#0e5b4340}.mobile-filter{border:1px solid var(--line);width:100%;height:46px;color:var(--accent,var(--primary));cursor:pointer;background:#fff;border-radius:16px;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;font-size:15px;font-weight:700;display:none;box-shadow:0 10px 18px #0e5b4329}.subtree-indent{padding-left:16px}.page-center{text-align:center;padding:80px 0}.error-code{margin-bottom:12px;font-size:64px;font-weight:700}.error-title{margin-bottom:12px;font-size:24px}.error-msg{color:var(--muted);margin-bottom:24px}.text-primary{color:var(--primary)}.btn-row{justify-content:center;gap:12px;display:flex}@media (max-width:860px){section{padding:52px 0}.section-title{font-size:26px}.container{width:min(100% - 26px,1180px)}.mobile-filter{display:flex}.mobile-filter:before{content:"🏷️"}.product-layout{grid-template-columns:1fr}.sidebar{display:none}.sidebar.open{z-index:220;border-radius:0;padding-bottom:100px;display:block;position:fixed;inset:78px 0 0;overflow-y:auto}.products-top{text-align:center;flex-direction:column;align-items:stretch}.products-top .btn{width:fit-content;margin:0 auto}}@media (max-width:560px){section{padding:50px 0}.section-title{font-size:26px}.section-head{flex-direction:column;align-items:flex-start}}body.edit-mode>header,body.edit-mode>footer{display:none!important}body.edit-mode>main{flex-direction:column;height:100vh;margin:0;padding:0;display:flex;overflow:hidden}.loading-spinner{border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;margin:0 auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
