/* A 極簡科技 v2：分類大選單、手機抽屜、分類格、品牌、篩選。只用 tokens.css 變數 */
.mbtn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border-radius:var(--r-pill);border:1.5px solid var(--text);background:var(--bg);color:var(--text);font:inherit;font-weight:var(--fw-b);font-size:var(--fs-15);cursor:pointer;white-space:nowrap}
.mbtn[aria-expanded=true]{background:var(--text);color:var(--bg)}
.mbtn:focus-visible,.dw summary:focus-visible,.gc a:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.mega{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--sh-hover);max-height:calc(100vh - 90px);overflow:auto}
.mega.on{display:block}
.mega .wrap{display:grid;align-items:start;min-height:0;grid-template-columns:repeat(4,1fr);gap:8px 28px;padding-top:24px;padding-bottom:28px}
.mega h3{display:flex;align-items:center;gap:8px;font-size:var(--fs-15);font-weight:var(--fw-xb);margin:8px 0 4px}
.mega h3 .ic{color:var(--tileIc)}
.mega h3 small,.dw summary small{font-weight:var(--fw-sb);color:var(--mute);font-size:var(--fs-12)}
.mega ul,.dw ul{list-style:none;padding:0}
.ml{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 8px;margin:0 -8px;border-radius:var(--r-sm);font-size:var(--fs-14)}
.ml:hover{background:var(--surf)}
.ml span{display:flex;flex-direction:column;line-height:1.25}.ml i{font-style:normal;font-size:var(--fs-12);color:var(--mute)}
.ml em{font-style:normal;font-size:var(--fs-12);color:var(--mute);font-variant-numeric:tabular-nums}
.mfoot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:12px;color:var(--mute);font-size:var(--fs-13);flex-wrap:wrap}
.mfoot a{color:var(--acc);font-weight:var(--fw-b);min-height:44px;display:inline-flex;align-items:center}
.scrim{display:none;position:fixed;inset:0;background:var(--scrim);z-index:20}
.dw{position:fixed;top:0;bottom:0;left:0;width:min(88vw,360px);background:var(--bg);z-index:21;transform:translateX(-100%);transition:transform var(--dur) var(--ease);overflow:auto;padding:0 16px 24px}
body.dopen .dw{transform:none}body.dopen .scrim{display:block}
.dwh{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--bg);padding:12px 0;border-bottom:1px solid var(--line);z-index:1}
.ib{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer}
.dw details{border-bottom:1px solid var(--line)}
.dw summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:56px;cursor:pointer;font-weight:var(--fw-b)}
.dw summary::-webkit-details-marker{display:none}
.dw summary span{flex:1;display:flex;flex-direction:column;line-height:1.25}
.dw summary .ic:first-child{color:var(--tileIc)}
.dw details[open] summary .ic:last-child{transform:rotate(180deg)}
.dw ul{padding:0 0 10px 34px}
.dwl{display:flex;flex-direction:column;gap:0;margin-top:12px}.dwl a{min-height:48px;display:flex;align-items:center;font-weight:var(--fw-b);color:var(--acc)}
.top{position:sticky}.top .wrap{position:static}
@media(min-width:901px){.dw,.scrim{display:none!important}}
@media(max-width:900px){.mega{display:none!important}.mbtn span{display:none}.mbtn{width:46px;padding:0;justify-content:center}}
@media(max-width:640px){.mbtn{order:-1}.logo{white-space:nowrap;font-size:18px}.logo small{white-space:nowrap}.top .nbuild{display:none}}
/* 首頁分類格 */
.gcs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gc{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:10px}
.gc h3{display:flex;align-items:center;gap:10px;font-size:var(--fs-18);font-weight:var(--fw-xb);line-height:1.25}
.gc h3 .ic{color:var(--tileIc);background:var(--tile);border-radius:var(--r-sm);padding:8px;width:40px;height:40px}
.gc h3 small{display:block;font-size:var(--fs-12);color:var(--mute);font-weight:var(--fw-sb)}
.gc .chips{display:flex;flex-wrap:wrap;gap:8px}
.chip2{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--r-pill);background:var(--bg);border:1px solid var(--line);font-size:var(--fs-14);font-weight:var(--fw-sb)}
.chip2:hover{border-color:var(--acc);color:var(--acc)}
.gc .more{margin-top:auto;color:var(--acc);font-weight:var(--fw-b);font-size:var(--fs-14);min-height:44px;display:inline-flex;align-items:center;gap:4px}
.gc .n{font-size:var(--fs-13);color:var(--mute)}
.gc.all{background:var(--text);color:var(--bg);border-color:var(--text);justify-content:center}.gc.all .n{color:#CBD2DC}.gc.all .more{color:#fff}
/* 品牌 */
.bstrip{display:flex;flex-wrap:wrap;gap:10px}
.wm{display:inline-flex;align-items:center;justify-content:center;min-height:56px;min-width:120px;padding:0 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);font-weight:var(--fw-xb);font-size:var(--fs-16);letter-spacing:.02em;color:var(--text)}
.wm:hover{border-color:var(--acc);color:var(--acc)}
.az{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.az a,.az span{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r-sm);border:1px solid var(--line);font-weight:var(--fw-b)}
.az span{color:var(--disabled-text);background:var(--surf);border-color:transparent}
.bsearch{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--r-pill);padding:0 16px;min-height:48px;max-width:420px;background:var(--surf)}
.bsearch input,.fsearch{border:0;background:transparent;font:inherit;flex:1;min-width:0;min-height:44px;color:var(--text)}
.bsearch input:focus{outline:none}.bsearch:focus-within{box-shadow:var(--focus-ring)}
.blet{font-size:var(--fs-22);font-weight:var(--fw-xb);margin:24px 0 10px;scroll-margin-top:100px}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bcard{border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.bcard b{font-size:var(--fs-18);font-weight:var(--fw-xb)}.bcard .n{font-size:var(--fs-13);color:var(--mute)}
.bcard .cl{font-size:var(--fs-14);color:var(--mute)}
.bcard a.go{color:var(--acc);font-weight:var(--fw-b);min-height:44px;display:inline-flex;align-items:center}
.empty{padding:24px;border:1px dashed var(--line);border-radius:var(--r);color:var(--mute);text-align:center}
@media(max-width:900px){.gcs{grid-template-columns:1fr 1fr}.bgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.gcs{grid-template-columns:1fr 1fr;gap:10px}.gc{padding:14px;gap:6px}.gc .chips{display:none}.gc h3{flex-direction:column;align-items:flex-start;font-size:var(--fs-16)}.gc .more{min-height:44px}.bgrid{grid-template-columns:1fr}.wm{min-width:0;flex:1 1 40%}}
/* 篩選（類別＋品牌） */
.crumb a{color:var(--acc);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
.crumb{display:flex;flex-wrap:wrap;gap:0 6px;align-items:center;padding-top:12px}
.side .cnt{margin-left:auto;font-size:var(--fs-13);color:var(--mute);font-variant-numeric:tabular-nums}
.side label{cursor:pointer}
.side .fsearch{height:44px;width:100%;}
.crumb a{min-width:44px;justify-content:center}
.fsearch{border:1px solid var(--line);border-radius:var(--r-sm);padding:0 12px;width:100%;background:var(--bg)}
.fchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.fchip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px 0 14px;border-radius:var(--r-pill);background:var(--tile);color:var(--text);border:0;font:inherit;font-size:var(--fs-14);cursor:pointer}
.clr{background:none;border:0;color:var(--acc);font:inherit;font-weight:var(--fw-b);min-height:44px;cursor:pointer;text-decoration:underline}
.card .meta{font-size:var(--fs-12);color:var(--mute);font-weight:var(--fw-sb)}
.side .note{font-size:var(--fs-12);color:var(--mute);margin-top:12px}
.sclose,.sapply{display:none}
@media(max-width:900px){body.fopen .side{display:block;position:fixed;inset:auto 0 0 0;max-height:85vh;overflow:auto;background:var(--bg);z-index:21;border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:0 20px 20px;box-shadow:var(--sh-sheet)}
 body.fopen .scrim{display:block}
 .side .shd{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--bg);padding:12px 0;z-index:1}
 body.fopen .sclose{display:grid}body.fopen .sapply{display:flex;width:100%;margin-top:12px;position:sticky;bottom:0}}
@media(min-width:901px){.side .shd{display:block}}
