*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;background:#f6f3ee;color:#2b2622;line-height:1.6;font-size:16px}
.top{position:sticky;top:0;z-index:5;background:#fffdf9;border-bottom:1px solid #ece4d8;padding:12px 16px 10px}
.brand{font-weight:700;font-size:17px;color:#7a4a1e}
.prog{height:6px;background:#efe7dc;border-radius:3px;margin-top:8px;overflow:hidden}
.prog i{display:block;height:100%;width:0;background:#d9772b;transition:width .3s}
main{max-width:640px;margin:0 auto;padding:16px 14px 40px}
.card{background:#fff;border-radius:16px;padding:22px 18px;box-shadow:0 2px 10px rgba(80,50,20,.06)}
.hero h1{font-size:27px;line-height:1.35;margin:4px 0 12px}
h2{font-size:22px;margin:4px 0 6px}
h3{font-size:17px;margin:22px 0 8px}
.desc{color:#6d6156;margin:0 0 14px;font-size:16px}
.step{font-size:14px;color:#8f4f1a;font-weight:700}
.ticks{padding-left:0;list-style:none;margin:16px 0 22px}
.ticks li{padding-left:26px;position:relative;margin:8px 0}
.ticks li:before{content:"✓";position:absolute;left:4px;color:#d9772b;font-weight:700}
.q{margin:22px 0 4px;scroll-margin-top:80px}
.qt{font-weight:700;font-size:17px;margin-bottom:10px}
.opts{display:flex;flex-direction:column;gap:10px}
.opt,.chip,.btn,.lnk{touch-action:manipulation}
button:focus-visible{outline:3px solid #a8521a;outline-offset:2px}
.who{background:#fff6ee;border-radius:12px;padding:12px 14px;font-size:16px;margin:0 0 18px}
.opt{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;min-height:52px;padding:13px 14px 13px 46px;border:2px solid #e6ddd1;border-radius:12px;background:#fff;font:inherit;color:inherit;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
.opt:before{content:"";position:absolute;left:14px;top:15px;width:20px;height:20px;border:2px solid #cbbfb1;border-radius:50%;background:#fff}
.opt.multi:before{border-radius:5px}
.opt.on{border-color:#d9772b;background:#fff6ee}
.opt.on:before{border-color:#d9772b;background:#d9772b;box-shadow:inset 0 0 0 3px #fff}
.opt.multi.on:before{content:"✓";color:#fff;font-size:14px;line-height:16px;text-align:center;box-shadow:none}
.ot{font-size:16px}
.ot em{font-style:normal;font-size:14px;background:#fdebd9;color:#8f4512;border-radius:20px;padding:1px 8px;margin-left:8px;white-space:nowrap;display:inline-block}
.oh{font-size:15px;color:#6b5f52;margin-top:3px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:10px 14px;border:2px solid #e6ddd1;border-radius:24px;background:#fff;font:inherit;font-size:15px;cursor:pointer;color:inherit}
.chip.on{border-color:#d9772b;background:#fff6ee;color:#a2501a;font-weight:700}
.txt{width:100%;padding:12px;border:2px solid #e6ddd1;border-radius:10px;font:inherit;margin-top:6px;background:#fff}
.txt:focus{outline:none;border-color:#d9772b}
.lab{display:block;margin:14px 0;font-weight:700}
.lab i{font-style:normal;font-size:14px;color:#b03021;font-weight:400;margin-left:4px}
.lab i.opt2{color:#6d6156}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.nav{display:flex;gap:10px;margin-top:24px}
.btn{flex:1;min-height:50px;border-radius:12px;font:inherit;font-weight:700;font-size:17px;cursor:pointer;border:2px solid transparent}
.btn.main{background:#a8521a;color:#fff}
.btn.main:disabled{opacity:.6}
.btn.ghost{background:#fff;border-color:#e0d6ca;color:#6d6156;flex:0 0 34%}
.hero .btn{display:block;width:100%;margin-top:10px}
.err{color:#c0392b;font-size:15px;min-height:1px;margin-top:12px;font-weight:700}
.rv{border:1px solid #ece4d8;border-radius:12px;padding:12px 14px;margin:12px 0}
.rvh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.rv ul{list-style:none;padding:0;margin:0}
.rv li{padding:7px 0;border-top:1px dashed #efe7dc;font-size:16px}
.rv li span{display:block;color:#6b5f52;font-size:15px}
.lnk{background:none;border:0;color:#9a4d12;font:inherit;font-size:15px;font-weight:700;cursor:pointer;padding:6px}
.foot{text-align:center;font-size:15px;color:#6d6156;padding:0 16px 30px}
/* 規格書檢視 */
.spec h1{font-size:22px}.spec h2{font-size:18px;margin-top:24px;border-bottom:2px solid #f0e6da;padding-bottom:4px}
.spec ul{padding-left:20px}.spec li{margin:5px 0}
.meta{background:#fff6ee;border-radius:10px;padding:12px 14px;font-size:15px}
.meta a{color:#b0561a}
