/* ===== D3a 設計層：hero 餐盤輪播 / 質感 / 動態 / 插圖（淺色雜誌感，無深色底） ===== */

/* --- 質感：紙纖維＋噪點（極淡） --- */
body::before{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85 .95' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .13 0 0 0 0 .1 0 0 0 0 .09 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),repeating-linear-gradient(93deg,transparent 0 5px,rgba(122,106,96,.35) 5px 6px);background-size:260px 260px,180px 180px}

/* --- Hero 改版：全幅底圖＋奶油漸層＋手寫金字＋餐盤輪播 --- */
.hero-v2{position:relative;isolation:isolate;overflow:hidden;padding:48px 0 56px}
.hero-v2 .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;opacity:.5}
.hero-v2::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--bg) 0 34%,rgba(251,246,238,.78) 58%,rgba(251,246,238,.28) 100%)}
.hero-v2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.6}
.hero-tx{position:relative}
.hero-script{position:absolute;left:-6px;top:6px;z-index:0;font-family:var(--num);font-style:italic;font-weight:600;font-size:clamp(56px,14vw,128px);line-height:1;color:var(--gold);opacity:.18;white-space:nowrap;letter-spacing:-.02em;transform:rotate(-5deg);transform-origin:left top;pointer-events:none;font-variation-settings:"opsz" 144}
.hero-tx > .ey,.hero-tx h1,.hero-tx .sl,.hero-tx .ac{position:relative;z-index:1}
.hero-v2 .ac .btn{min-width:160px}
/* 餐盤輪播 */
.hc{position:relative;width:min(100%,320px);margin:0 auto;z-index:1}
.hc-f{position:relative;aspect-ratio:4/5;padding:10px;border:1px solid var(--gold);border-radius:var(--r);background:rgba(255,255,255,.35)}
.hc-f i{position:absolute;width:16px;height:16px;border:0 solid var(--gold);pointer-events:none}
.hc-f i.tl{top:-7px;left:-7px;border-width:1px 0 0 1px}.hc-f i.tr{top:-7px;right:-7px;border-width:1px 1px 0 0}.hc-f i.bl{bottom:-7px;left:-7px;border-width:0 0 1px 1px}.hc-f i.br{bottom:-7px;right:-7px;border-width:0 1px 1px 0}
.hc-f i::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold)}
.hc-f i.tl::after{top:-2px;left:-2px}.hc-f i.tr::after{top:-2px;right:-2px}.hc-f i.bl::after{bottom:-2px;left:-2px}.hc-f i.br::after{bottom:-2px;right:-2px}
.hc-s{position:absolute;inset:10px;display:block;border-radius:var(--r-img);overflow:hidden;background:var(--surface-2);opacity:0;transform:scale(.985);transition:opacity 300ms,transform 300ms;pointer-events:none}
.hc-s.on{opacity:1;transform:none;pointer-events:auto}
.hc-s img,.hc-s .noimg{width:100%;height:100%;object-fit:cover;display:block}
.hc-cap{margin-top:14px;text-align:center;font-size:14px;color:var(--ink-2);min-height:24px;transition:opacity 200ms}
.hc-cap b{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:15px}
.hc-cap .pr{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.hc-cap.sw{opacity:0}
.hc-dots{display:flex;justify-content:center;gap:4px;margin-top:4px}
.hc-dots button{width:28px;height:28px;display:grid;place-items:center;cursor:pointer}
.hc-dots button::before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid var(--gold);background:transparent;transition:background 200ms,transform 200ms}
.hc-dots button[aria-selected=true]::before{background:var(--gold);transform:scale(1.15)}
.hc-dots button:focus-visible{outline:2px solid var(--primary);outline-offset:-4px;border-radius:50%}

/* --- 區塊標題：金線飾條「— ✦ —」＋章節編號超大淡字 --- */
.sh{position:relative}
.sh > *{position:relative;z-index:1}
.sh h2::after{content:"— ✦ —";display:inline-block;margin-left:14px;vertical-align:middle;font-family:var(--num);font-weight:400;font-size:13px;letter-spacing:.18em;color:var(--gold);white-space:nowrap;opacity:.9}
.sh[data-n]::before{display:none} /* D4：Allen 要求拿掉超大章節編號浮水印 */

/* --- 動態：header 毛玻璃 --- */
.hd{transition:background 200ms,border-color 200ms,box-shadow 200ms}
.hd.is-scrolled{background:rgba(251,246,238,.82);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom-color:rgba(201,162,74,.5);box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.hd.is-scrolled{background:rgba(251,246,238,.97)}}

/* --- 動態：主鈕 hover 金色底線從左掃過 --- */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left center;transition:transform 250ms cubic-bezier(.4,0,.2,1);pointer-events:none}
.btn:hover::after,.btn:focus-visible::after{transform:scaleX(1)}
.btn.dis::after{display:none}

/* --- 動態：18+ 餐巾「掀開」 --- */
.gate{transition:transform 400ms cubic-bezier(.5,0,.3,1),opacity 400ms;transform-origin:top center;will-change:transform}
.gate.lift{transform:translateY(-104%) rotate(-1.2deg);opacity:.98;pointer-events:none}
.gate .in{transition:transform 400ms cubic-bezier(.5,0,.3,1)}
.gate.lift .in{transform:translateY(24px)}

/* --- 動態：進場（標題左滑、卡片交錯） --- */
.sh,.step,.trust > div{opacity:0;transform:translateX(-12px);transition:opacity 320ms var(--d,0ms),transform 320ms var(--d,0ms)}
.sh.in,.step.in,.trust > div.in{opacity:1;transform:none}
.step:nth-child(2),.trust > div:nth-child(2){--d:80ms}.step:nth-child(3),.trust > div:nth-child(3){--d:160ms}.step:nth-child(4){--d:240ms}
.grid .rv:nth-child(4n+2),.eds .rv:nth-child(4n+2){--d:60ms}.grid .rv:nth-child(4n+3),.eds .rv:nth-child(4n+3){--d:120ms}.grid .rv:nth-child(4n+4),.eds .rv:nth-child(4n+4){--d:180ms}
@supports (animation-timeline:view()){
.sh,.step,.trust > div{opacity:1;transform:none;transition:none;animation:ap-slide linear both;animation-timeline:view();animation-range:entry 0% entry 22%}
.rv,.rv.in{opacity:1;transform:none;transition:none;animation:ap-rise linear both;animation-timeline:view();animation-range:entry 0% entry 26%}
.grid .rv:nth-child(4n+2),.eds .rv:nth-child(4n+2){animation-range:entry 4% entry 30%}
.grid .rv:nth-child(4n+3),.eds .rv:nth-child(4n+3){animation-range:entry 8% entry 34%}
.grid .rv:nth-child(4n+4),.eds .rv:nth-child(4n+4){animation-range:entry 12% entry 38%}
}
@keyframes ap-slide{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes ap-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* --- 動態：今日特餐自動慢速跑動（桌機有 hover 才啟用；手機保留原生 snap 捲動） --- */
.mq-dup{display:none}
@media (min-width:768px) and (hover:hover){
.rail.mq{overflow:hidden}
.rail.mq .track{width:max-content;overflow:visible;scroll-snap-type:none;padding-right:0;animation:ap-mq 60s linear infinite}
.rail.mq .mq-dup{display:block}
.rail.mq:hover .track,.rail.mq:focus-within .track{animation-play-state:paused}
}
@keyframes ap-mq{to{transform:translateX(calc(-50% - 6px))}}

/* --- 插圖配置 --- */
#picks .sh{align-items:flex-end;flex-wrap:wrap}
#picks .art-plate{flex:0 0 auto;width:132px;height:auto;margin-left:auto;opacity:.9;border-radius:var(--r-img);mix-blend-mode:multiply;order:3}
#journal{position:relative;isolation:isolate;background:url(../img/art-table.webp) center 40%/cover no-repeat}
#journal::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg);opacity:.88}
#journal::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--bg),transparent 30%,transparent 70%,var(--bg))}
#journal .ed{background:rgba(255,255,255,.5)}
.error404 .page .wrap::after{content:"";display:block;width:min(100%,420px);aspect-ratio:1291/768;margin:32px auto 0;border-radius:var(--r-img);background:url(../img/art-plate.webp) center/cover no-repeat;opacity:.9}

/* --- 響應 --- */
@media (min-width:768px){
.hero-v2{padding:72px 0 80px}
.hero-v2::before{background:linear-gradient(90deg,var(--bg) 0 42%,rgba(251,246,238,.82) 60%,rgba(251,246,238,.2) 100%)}
.hero-script{left:-10px;top:-4px;font-size:clamp(88px,9.5vw,140px)}
.hc{width:min(100%,360px);margin:0 0 0 auto}
.sh h2::after{margin-left:18px;font-size:14px}
#picks .art-plate{width:240px;order:0;margin-bottom:-12px}
}
@media (min-width:1024px){
.hero-v2{padding:64px 0 72px}
.hero-script{top:-8px}
#picks .art-plate{width:300px;margin-bottom:-24px}
}
@media (prefers-reduced-motion:reduce){
.sh,.step,.trust > div,.rv{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
.hc-s{transition:none}
.rail.mq .track{animation:none;width:auto;overflow-x:auto;scroll-snap-type:x mandatory}
.rail.mq .mq-dup{display:none}
.gate.lift{transform:none}
.hero-script{transform:rotate(-5deg)}
}

/* ===== R1 本週榜單（首頁 #rank）：三欄名次表，手機橫向 scroll-snap ===== */
.rank-cols{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:4px 16px 8px;scroll-padding:0 16px}
.rank-cols::-webkit-scrollbar{display:none}
.rank-col{flex:0 0 86vw;max-width:420px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:2px 16px 6px}
.rank-col>h3{display:flex;align-items:baseline;gap:8px;font-size:17px;padding:12px 0 10px;border-bottom:1px solid var(--line)}
.rank-col>h3 .ey{display:inline;font-size:11px;font-weight:400}
.rank-row{display:grid;grid-template-columns:44px 64px minmax(0,1fr);align-items:center;gap:12px;margin:0 -8px;padding:10px 8px;border-bottom:1px solid var(--line);border-radius:var(--r-img);transition:background var(--t)}
.rank-row:last-child{border-bottom:0}
.rank-row:hover,.rank-row:focus-visible{background:var(--surface-2);outline:none}
.rank-no{position:relative;text-align:center;font-family:var(--num);font-weight:600;font-size:30px;line-height:1;color:var(--ink-2);font-variation-settings:"opsz" 144;font-variant-numeric:tabular-nums;padding-top:6px}
.rank-no small{display:block;font-size:9px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);opacity:.8;margin-bottom:2px}
.rank-row.is-1 .rank-no{color:var(--gold)}
.rank-row.is-1 .rank-no small{color:var(--gold);opacity:1}
.rank-crown{position:absolute;top:-4px;left:50%;width:16px;height:12px;transform:translateX(-50%);color:var(--gold)}
.rank-img{display:block;width:64px;aspect-ratio:4/5;border-radius:var(--r-img);overflow:hidden;background:var(--surface-2)}
.rank-img img,.rank-img .noimg{width:100%;height:100%;object-fit:cover;display:block}
.rank-tx{min-width:0;line-height:1.5}
.rank-nm{display:flex;align-items:center;gap:6px;font-family:var(--serif);font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-nm .flag{flex:0 0 auto;width:18px;height:12px;border-radius:2px}
.rank-sp,.rank-pr{display:block;font-size:12px;color:var(--ink-2)}
.rank-pr b{font-family:var(--num);font-weight:600;font-size:13px;color:var(--primary);font-variant-numeric:tabular-nums}
.rank-empty{padding:36px 8px;text-align:center;font-size:13px;line-height:1.7;color:var(--ink-2)}
.rank-empty b{display:block;font-family:var(--serif);font-weight:600;font-size:15px;color:var(--ink);margin-bottom:4px}
.rank-empty::before{content:"— ✦ —";display:block;font-family:var(--num);font-size:12px;letter-spacing:.18em;color:var(--gold);margin-bottom:10px}
@media (min-width:768px){
.rank-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;overflow:visible;scroll-snap-type:none;margin:0;padding:0}
.rank-col{flex:auto;max-width:none;padding:2px 18px 8px}
.rank-row{margin:0 -10px;padding:12px 10px}
}
@media (prefers-reduced-motion:reduce){.rank-row{transition:none}}

/* ===== D4 設計修正（2026-09-19 Allen 手機回饋）：暖白表面、區塊底色交替、廚房索引、雜誌問答、Tab Bar 圖示、菜單覆蓋層 ===== */
/* --- 表面：去粗框只留髮絲線 --- */
.rank-col,.kp,.sel,.empty{border-color:var(--line)}
.hc-f{background:rgba(255,252,247,.35)}
#journal .ed{background:rgba(255,252,247,.5)}
.tb{background:rgba(255,252,247,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
/* --- 區塊底色三種交替 --- */
.band-linen{background:var(--surface-2);border-top:0;position:relative}
.band-linen + .sec{border-top:0}
/* D6：深底（酒紅）區塊已移除，首頁改奶油／亞麻交替 */
/* --- 02 廚房索引（D6 雜誌目錄式）：三大都會列 ＋ 其餘縣市兩欄文字索引 --- */
.ki{display:flex;flex-direction:column;gap:36px;background:transparent;border:0}
.ki-metro{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.ki-m{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink);-webkit-tap-highlight-color:transparent}
.ki-m .ki-ic{width:32px;height:32px;flex:none;object-fit:contain;transition:transform var(--t)}
.ki-ic-x{display:block;border:1px solid var(--line);border-radius:50%}
.ki-m .ki-tx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.ki-m .ki-nm{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.2;letter-spacing:-.01em;color:inherit;transition:color var(--t)}
.ki-m .ki-en{font-family:var(--num);font-weight:400;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);line-height:1.4}
.ki-ar{flex:none;font-family:var(--num);font-size:18px;line-height:1;color:var(--gold);transition:transform var(--t)}
.ki-m:hover .ki-nm,.ki-m:focus-visible .ki-nm,.ki-m:active .ki-nm{color:var(--primary)}
.ki-m:hover .ki-ar,.ki-m:focus-visible .ki-ar{transform:translateX(4px)}
.ki-m:hover .ki-ic,.ki-m:focus-visible .ki-ic{transform:scale(1.06)}
.ki-m:focus-visible,.ki-r:focus-visible{outline:none}
.ki-rest{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;border-top:1px solid rgba(201,162,74,.35)}
.ki-r{display:flex;align-items:center;justify-content:space-between;gap:8px;height:56px;border-bottom:1px solid rgba(201,162,74,.35);color:var(--ink);-webkit-tap-highlight-color:transparent}
.ki-r .ki-nm{font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.3;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--t)}
.ki-r .ki-ar{font-size:12px;opacity:.85}
.ki-r:hover .ki-nm,.ki-r:focus-visible .ki-nm,.ki-r:active .ki-nm{color:var(--primary)}
.ki-r:hover .ki-ar,.ki-r:focus-visible .ki-ar{transform:translateX(4px)}
/* --- 07 FAQ 雜誌問答體 --- */
.d4-faq details{border-top:1px solid rgba(201,162,74,.45)}
.d4-faq details:last-child{border-bottom:1px solid rgba(201,162,74,.45)}
.d4-faq summary{display:grid;grid-template-columns:40px minmax(0,1fr) 32px;align-items:start;gap:0 8px;padding:20px 0;font-size:20px;line-height:1.4;min-height:0}
.d4-faq summary::after{content:none}
.d4-faq .q-n{font-family:var(--num);font-style:italic;font-weight:600;font-size:22px;line-height:1.2;color:var(--gold);letter-spacing:-.02em;font-variation-settings:"opsz" 144;padding-top:2px}
.d4-faq .q-t{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--ink);transition:color var(--t)}
.d4-faq .q-i{position:relative;width:32px;height:32px;margin-top:-2px;justify-self:end;transition:transform 250ms}
.d4-faq .q-i::before,.d4-faq .q-i::after{content:"";position:absolute;left:50%;top:50%;background:var(--gold);transform:translate(-50%,-50%)}
.d4-faq .q-i::before{width:16px;height:1.5px}
.d4-faq .q-i::after{width:1.5px;height:16px;transition:opacity var(--t)}
.d4-faq details[open] .q-t{color:var(--primary)}
.d4-faq details[open] .q-i{transform:rotate(45deg)}
.d4-faq details[open] .q-i::before,.d4-faq details[open] .q-i::after{background:var(--primary)}
.d4-faq .an{position:relative;padding:0 0 24px 40px;color:var(--ink-2);font-size:15px;max-width:720px;line-height:1.8}
.d4-faq .an::before{content:"";position:absolute;left:0;top:12px;width:24px;height:2px;background:var(--gold)}
.d4-faq summary:hover .q-t{color:var(--primary)}
/* --- Tab Bar：選中酒紅實心點 --- */
.tb a,.tb button{position:relative;padding-top:2px}
.tb a svg,.tb button svg{width:24px;height:24px}
.tb a[aria-current]::after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--primary);transform:translateX(-50%)}
/* --- 漢堡（餐牌）入口：只在手機/平板 --- */
.hd .ic.mb{display:flex}
/* --- 菜單覆蓋層：奶油餐巾 --- */
.mn{position:fixed;inset:0;z-index:90;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 16px calc(24px + env(safe-area-inset-bottom));transform:translateY(-104%) rotate(-1.2deg);transform-origin:top center;transition:transform 400ms cubic-bezier(.5,0,.3,1);will-change:transform}
.mn[hidden]{display:none}
.mn.o{transform:none}
.mn::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.mn-h{display:flex;align-items:center;justify-content:space-between;height:56px;border-bottom:1px solid var(--line);flex:none}
.mn-h .logo img{height:38px;width:auto}
.mn-b{display:flex;flex-direction:column;padding-top:8px}
.mn-l{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid rgba(201,162,74,.45);font-family:var(--serif);font-weight:600;font-size:26px;letter-spacing:-.01em;color:var(--ink);transition:color var(--t)}
.mn-l i{font-family:var(--num);font-style:italic;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.mn-l:hover,.mn-l:active{color:var(--primary)}
.mn-g .mn-l{border-bottom:0;padding-bottom:8px}
.mn-k{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:0 0 18px 4px;border-bottom:1px solid rgba(201,162,74,.45)}
.mn-k a{display:flex;align-items:center;min-height:40px;font-size:15px;color:var(--ink-2);letter-spacing:.02em}
.mn-k a::before{content:"·";color:var(--gold);margin-right:8px}
.mn-k a:hover,.mn-k a:active{color:var(--primary)}
.mn-r{padding:24px 0 0}
.mn-r .ey{margin-bottom:12px}
.mn-c{display:flex;gap:12px;flex-wrap:wrap}
.mn-c .btn,.mn-c .ob{flex:1 1 140px;height:48px}
.mn-f{margin-top:auto;padding-top:32px;font-size:12px;color:var(--ink-2);text-align:center}
body.mno{overflow:hidden}
@media (min-width:768px){
.ki-m .ki-ic{width:40px;height:40px}
.ki-m .ki-nm{font-size:30px}
.ki-rest{column-gap:40px}
.d4-faq summary{grid-template-columns:48px minmax(0,1fr) 32px}
.d4-faq .an{padding-left:48px}
.d4-faq .q-n{font-size:26px}
.mn{padding:0 32px calc(24px + env(safe-area-inset-bottom))}
.mn-k{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1024px){
.ki{flex-direction:row;align-items:flex-start;gap:64px}
.ki-metro{flex:0 0 40%;max-width:40%}
.ki-rest{flex:1 1 60%;column-gap:48px}
.ki-m{padding:22px 0;gap:20px}
.ki-m .ki-nm{font-size:32px}
.hd .ic.mb{display:none}
.mn{display:none}
}
@media (prefers-reduced-motion:reduce){
.mn{transition:none;transform:none}
.mn:not(.o){display:none}
.d4-faq .q-i{transition:none}
}
/* K3 18 間廚房排版：手機/平板右欄兩欄（15+補格=16 偶數）；桌機 3 欄×5 列，補格隱藏 */
.ki-r-all .ki-nm{color:var(--primary);font-size:16px}
@media (min-width:1024px){.ki-rest{grid-template-columns:repeat(3,minmax(0,1fr))}.ki-r-all{display:none}}

/* ===== M2 動線改版：hero 點餐選擇器／內用外送切換條／區域 chip／Tab Bar 廚房面板／5 欄卡片 ===== */
.pick{position:relative;z-index:1;margin-top:20px;padding:18px 18px 16px;border:1px solid rgba(201,162,74,.45);border-radius:var(--r);background:rgba(251,246,238,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:560px}
.pick-q{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--ink);margin-bottom:10px}
.pick-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pick-mode{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;border:2px solid var(--line);border-radius:10px;background:var(--surface);transition:border-color var(--t),background var(--t),color var(--t)}
.pick-mode b{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:.08em;line-height:1.2}
.pick-mode i{font-family:var(--num);font-style:normal;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.pick-mode:hover{border-color:var(--gold)}
.pick-mode[aria-pressed="true"]{border-color:var(--gold);background:var(--primary);color:#FBF6EE;box-shadow:0 0 0 3px var(--gold-soft)}
.pick-mode[aria-pressed="true"] i{color:rgba(251,246,238,.75)}
.pick-cty{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;align-items:center}
.pick-c,.pick-more{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;font-family:var(--serif);color:var(--ink);transition:border-color var(--t),background var(--t)}
.pick-c:hover,.pick-more:hover{border-color:var(--gold)}
.pick-c[aria-pressed="true"]{border-color:var(--primary);background:var(--primary);color:#FBF6EE}
.pick-rest{display:contents}
.pick-cty.js .pick-rest{display:none}
.pick-cty.js.o .pick-rest{display:contents}
.pick-cty.js.o .pick-more span{display:inline-block;transform:rotate(180deg)}
.pick-act{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.pick-act .pick-go{flex:1;min-width:0}
.pick-act .pick-line{height:40px;padding:0 12px;font-size:13px;white-space:nowrap}
.hero-v2 .ac{display:none}
@media (min-width:1024px){.pick{margin-top:24px}.pick-mode{min-height:72px}.pick-mode b{font-size:22px}}
/* 內用｜外送｜全部 切換條（真連結） */
.kmode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--primary);border-radius:10px;overflow:hidden;margin:0 0 12px;background:var(--surface)}
.kmode a{display:flex;align-items:center;justify-content:center;min-height:44px;font-family:var(--serif);font-weight:600;letter-spacing:.08em;font-size:15px;color:var(--primary);transition:background var(--t),color var(--t)}
.kmode a+a{border-left:1px solid var(--primary)}
.kmode a:hover{background:var(--primary-soft)}
.kmode a[aria-current]{background:var(--primary);color:#FBF6EE}
.kmode a[aria-current]:hover{background:var(--primary-deep)}
.tn-mode{max-width:480px;margin-bottom:8px}
/* 行政區／縣市 chip 一排 */
.karea{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;margin-bottom:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.karea::-webkit-scrollbar{display:none}
.karea a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;font-family:var(--serif);white-space:nowrap;transition:border-color var(--t)}
.karea a:hover{border-color:var(--gold)}
.karea a[aria-current]{border-color:var(--primary);background:var(--primary);color:#FBF6EE}
@media (min-width:1024px){.karea{flex-wrap:wrap;overflow:visible}}
.kp-cty{max-height:220px;overflow:auto}
.kp-seg{display:none}.kp-g:has(>.kp-seg),.kp-g:has(>.kp-t+.kp-seg){display:none}
/* 首頁今晚菜單 內用／外送／全部 */
.tn.js[data-show="inn"] .tn-out,.tn.js[data-show="out"] .tn-inn{display:none}
.tn.js[data-show="all"] .tn-g .sub{display:none}
.tn.js[data-show="all"] .tn-inn,.tn.js[data-show="all"] .tn-out{display:contents}
.tn.js[data-show="all"] .tn-g .grid{display:contents}
.tn.js[data-show="all"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 12px}
.tn.js[data-show="all"] .tn-out .dish{order:1}
.tn.js[data-show="all"] .tn-inn .dish{order:0}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+2){order:2}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+2){order:3}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+3){order:4}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+3){order:5}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+4){order:6}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+4){order:7}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+5){order:8}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+5){order:9}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+6){order:10}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+6){order:11}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+7){order:12}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+7){order:13}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+8){order:14}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+8){order:15}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+9){order:16}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+9){order:17}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+10){order:18}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+10){order:19}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+11){order:20}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+11){order:21}
.tn.js[data-show="all"] .tn-inn .dish:nth-child(n+12){order:22}
.tn.js[data-show="all"] .tn-out .dish:nth-child(n+12){order:23}
.tn .sub{margin-top:16px}
/* 卡片密度：手機 2 → 平板 3 → 1024 4 → 1280 5 */
@media (min-width:768px){.tn.js[data-show="all"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}}
@media (min-width:1024px){.tn.js[data-show="all"]{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1280px){.grid,.tn.js[data-show="all"]{grid-template-columns:repeat(5,minmax(0,1fr))}.grid .rv:nth-child(5n+5){--d:240ms}}
/* Tab Bar 廚房面板（同聯繫 sheet 樣式） */
.ks-ov{position:fixed;inset:0;z-index:70;background:rgba(34,26,23,.32);opacity:0;pointer-events:none;transition:opacity var(--t)}
.ks{position:fixed;z-index:71;left:0;right:0;bottom:0;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r) var(--r) 0 0;box-shadow:var(--float);transform:translateY(100%);transition:transform 250ms;padding-bottom:env(safe-area-inset-bottom);max-height:80vh;overflow:auto}
body.kso .ks-ov{opacity:1;pointer-events:auto}
body.kso .ks{transform:none}
.ks{visibility:hidden;pointer-events:none}body.kso .ks{visibility:visible;pointer-events:auto} /* 修：桌機關閉時 .ks 以 opacity:0 停在畫面正中央仍可點，蓋住分頁（點分頁跳到別的縣市） */
.ks-b{padding:16px 20px 24px}
.ks-l{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
.ks-l a{display:flex;align-items:baseline;gap:4px;min-height:44px;padding:0 4px;border-bottom:1px solid var(--line);font-family:var(--serif)}
.ks-l a b{font-size:16px;font-weight:600}
.ks-l a i{font-style:normal;font-size:12px;color:var(--ink-2)}
.ks-all{align-self:center;margin-top:8px}
@media (min-width:768px){.ks{left:50%;right:auto;bottom:auto;top:50%;width:420px;transform:translate(-50%,-50%) scale(.96);opacity:0;border-radius:var(--r);transition:opacity var(--t),transform var(--t)}body.kso .ks{opacity:1;transform:translate(-50%,-50%)}}

/* ===== M1 首屏門面：招牌字 .hero-sign／hero 短片底 .hero-v／18+ 餐巾開場 #gate ===== */
/* --- hero 短片底：取代 hero-room 插畫；奶油漸層 ::before 沿用（手機上→下、桌機左→右） --- */
.hero-v2 .hero-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;opacity:.62;background:var(--surface-2);pointer-events:none}
.hero-v2::before{background:linear-gradient(180deg,var(--bg) 0 30%,rgba(251,246,238,.84) 56%,rgba(251,246,238,.22) 100%)}
@media (min-width:768px){.hero-v2::before{background:linear-gradient(90deg,var(--bg) 0 38%,rgba(251,246,238,.86) 58%,rgba(251,246,238,.12) 100%)}}
@media (min-width:768px){.hero-v2 .hero-v{object-position:center right}}
/* --- 招牌字 --- */
.hero-sign{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:16px;position:relative;z-index:1;max-width:560px}
.hero-sign .hs-h1{display:contents}
.hs-ey{grid-column:1/-1;order:0;display:flex;align-items:center;gap:10px;font-family:var(--num);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-variant-numeric:tabular-nums;margin-bottom:12px}
.hs-ey::before{content:"";width:24px;height:1px;background:var(--gold);flex:0 0 auto}
.hs-kw{grid-column:1/-1;order:1;display:block;font-family:var(--serif);font-weight:600;font-size:40px;line-height:1.15;letter-spacing:0;white-space:nowrap;color:var(--primary)}
.hs-ch{display:inline-block;width:1em;text-align:center;animation:hsUp 640ms cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 60ms)}
@keyframes hsUp{from{opacity:0;transform:translateY(.45em)}to{opacity:1;transform:none}}
/* 逐字各自套同一條大漸層（寬 = 字數×220%），用 --i 對齊位移 → 看起來是一條金光橫掃整行 */
@supports (-webkit-background-clip:text) or (background-clip:text){
.hs-ch:not(.hs-dot){background:linear-gradient(100deg,var(--primary) 0%,var(--primary) 35%,var(--gold) 50%,var(--primary) 65%,var(--primary) 100%);background-size:calc(var(--n) * 2.2em) 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:hsUp 640ms cubic-bezier(.2,.7,.2,1) both,hsSheen 6s linear infinite;animation-delay:calc(var(--i) * 60ms),0s}
@keyframes hsSheen{from{background-position:calc(var(--i) * -1em) 0}to{background-position:calc(var(--i) * -1em - var(--n) * 1.2em) 0}}
}
.hs-ch.hs-dot{color:var(--gold);-webkit-text-fill-color:var(--gold);width:.8em}
.hs-sub{grid-column:1/-1;order:2;display:block;font-family:var(--num);font-style:italic;font-weight:600;font-size:20px;line-height:1.3;color:var(--gold);margin:6px 0 10px;font-variation-settings:"opsz" 72;animation:hsIn 600ms cubic-bezier(.2,.7,.2,1) both;animation-delay:820ms}
@keyframes hsIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.hs-brand{grid-column:1;order:3;display:flex;align-items:baseline;gap:10px;font-weight:600;line-height:1.3;animation:hsIn 600ms cubic-bezier(.2,.7,.2,1) both;animation-delay:1040ms}
.hs-en{font-family:var(--num);font-variant-caps:small-caps;font-variant-numeric:tabular-nums;font-size:16px;letter-spacing:.18em;color:var(--primary);font-variation-settings:"opsz" 30}
.hs-en::after{content:"—";color:var(--gold);margin-left:10px;letter-spacing:0}
.hs-zh{font-family:var(--serif);font-size:20px;letter-spacing:.06em;color:var(--ink)}
.hs-zh .ap-wet{color:var(--gold);font-size:1.15em;text-shadow:0 0 10px rgba(201,162,74,.6);animation:hsGlow 3s ease-in-out infinite}
@keyframes hsGlow{0%,100%{text-shadow:0 0 6px rgba(201,162,74,.35)}50%{text-shadow:0 0 14px rgba(201,162,74,.8),0 0 2px rgba(201,162,74,.6)}}
.hs-hr{grid-column:2;order:4;font-family:var(--num);font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:.06em;color:var(--ink-2);white-space:nowrap;animation:hsIn 600ms both;animation-delay:1200ms}
.hs-sl.sl{grid-column:1/-1;order:5;position:relative;height:1.75em;margin:14px 0 0;overflow:hidden;font-size:16px;color:var(--ink-2)}
.hs-sl .hs-l{position:absolute;left:0;top:0;right:0;opacity:0;transform:translateY(6px);transition:opacity 600ms ease,transform 600ms ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-sl .hs-l.on{opacity:1;transform:none}
.hero-sign + .pick{margin-top:22px}
/* 遮罩還在時先暫停招牌字進場，掀開後才播（一次性） */
html.gt .hero-sign :is(.hs-ch,.hs-sub,.hs-brand,.hs-hr){animation-play-state:paused}
@media (min-width:768px){.hs-kw{font-size:56px}.hs-sub{font-size:22px}.hs-zh{font-size:22px}.hs-en{font-size:17px}.hs-sl.sl{font-size:17px}}
@media (min-width:1024px){.hs-kw{font-size:64px;line-height:1.12}.hs-sub{font-size:24px}.hs-hr{font-size:15px}.hero-sign{max-width:600px}.hero-sign + .pick{margin-top:28px}}
@media (min-width:1440px){.hs-kw{font-size:72px}}
/* wine/mix：酒紅底上招牌字改金色系 */
body.theme-wine .hs-kw,body.theme-mix .hs-kw,body.theme-wine .hs-en,body.theme-mix .hs-en{color:#C9A24A}
body.theme-wine .hs-zh,body.theme-mix .hs-zh{color:#FBF6EE}
body.theme-wine .hs-hr,body.theme-mix .hs-hr,body.theme-wine .hs-sl.sl,body.theme-mix .hs-sl.sl{color:rgba(251,246,238,.78)}
@supports (-webkit-background-clip:text) or (background-clip:text){
body.theme-wine .hs-ch:not(.hs-dot),body.theme-mix .hs-ch:not(.hs-dot){background-image:linear-gradient(100deg,#C9A24A 0%,#C9A24A 35%,#FBF6EE 50%,#C9A24A 65%,#C9A24A 100%)}
}
/* --- 18+ 餐巾開場（深酒紅底；序列 0→2.4s；reduced-motion / .noanim 直接顯示） --- */
.gate{background:#3B0D1F;color:#FBF6EE}
.gate::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(201,162,74,.16),transparent 60%);pointer-events:none}
.gate .in.gt-in{max-width:520px;width:100%;border-color:rgba(201,162,74,.75);padding:36px 24px 32px;background:rgba(59,13,31,.6)}
.gate .in.gt-in::before{border-color:rgba(201,162,74,.28)}
.gt-mark{position:relative;width:112px;height:112px;margin:0 auto 16px}
.gt-mark img{width:112px;height:112px;margin:0;position:relative;z-index:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));animation:gtPop 620ms cubic-bezier(.2,.9,.3,1.2) both}
@keyframes gtPop{from{opacity:0;transform:scale(0) rotate(-8deg)}to{opacity:1;transform:none}}
.gt-ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold);opacity:0;animation:gtRing 1100ms ease-out both;animation-delay:260ms}
.gt-ring2{animation-delay:520ms}
@keyframes gtRing{from{opacity:.85;transform:scale(.6)}to{opacity:0;transform:scale(2.1)}}
.gt-en{display:flex;justify-content:center;gap:.06em;font-family:var(--num);font-weight:600;font-size:30px;letter-spacing:.24em;text-indent:.24em;color:#FBF6EE;line-height:1.1;margin:0 0 10px;font-variation-settings:"opsz" 144}
.gt-en span{display:inline-block;animation:hsUp 520ms cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(560ms + var(--i) * 60ms)}
.gt-line{display:block;width:120px;height:1px;margin:0 auto 12px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform-origin:center;animation:gtLine 500ms ease-out both;animation-delay:1150ms}
@keyframes gtLine{from{transform:scaleX(0);opacity:0}to{transform:none;opacity:1}}
.gt-zh{font-family:var(--serif);font-size:22px;letter-spacing:.3em;text-indent:.3em;color:#FBF6EE;margin:0 0 20px;animation:hsUp 520ms cubic-bezier(.2,.7,.2,1) both;animation-delay:1450ms}
.gt-zh .ap-wet{color:var(--gold);font-size:1.15em;text-shadow:0 0 10px rgba(201,162,74,.6)}
.gt-tx{animation:hsUp 520ms ease-out both;animation-delay:1800ms}
.gate .gt-tx h2{font-size:22px;color:#FBF6EE;margin:0 0 10px}
.gate .gt-tx p{color:rgba(251,246,238,.72);font-size:14px;margin-bottom:22px}
.gate .gt-tx .btn{background:var(--gold);color:#3B0D1F;min-width:140px}
.gate .gt-tx .btn:hover{background:#D9B45E}
.gate .gt-tx .lk{color:rgba(251,246,238,.85);text-decoration-color:var(--gold)}
.gate .ey{display:none}
@media (min-width:768px){.gt-en{font-size:36px}.gt-zh{font-size:26px}.gate .gt-tx h2{font-size:26px}.gate .in.gt-in{padding:44px 40px 40px}}
@media (prefers-reduced-motion:reduce){
.hs-ch,.hs-sub,.hs-brand,.hs-hr,.gt-mark img,.gt-en span,.gt-line,.gt-zh,.gt-tx{animation:none!important;opacity:1!important;transform:none!important}
.hs-ch:not(.hs-dot){background:none!important;color:var(--primary)!important;-webkit-text-fill-color:var(--primary)!important}
body.theme-wine .hs-ch:not(.hs-dot),body.theme-mix .hs-ch:not(.hs-dot){color:#C9A24A!important;-webkit-text-fill-color:#C9A24A!important}
.hs-zh .ap-wet{animation:none!important}
.gt-ring{display:none}
}
.noanim .hs-ch,.noanim .hs-sub,.noanim .hs-brand,.noanim .hs-hr,.noanim .gt-mark img,.noanim .gt-en span,.noanim .gt-line,.noanim .gt-zh,.noanim .gt-tx{opacity:1!important;transform:none!important}
.noanim .gt-ring{display:none}

/* pick 標題列＋骰子 */
.pick-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.pick-head .pick-q{margin:0}.pick-dice{white-space:nowrap;font-size:13px;padding:6px 12px}
@media (max-width:400px){.pick-dice{font-size:12px;padding:6px 8px}}
/* 點餐選擇器上色（Allen）：內用＝酒紅、外送＝金、縣市＝亞麻底酒紅字、選中反白、骰子金框 */
.pick-mode[data-mode="dine"]{background:var(--primary);border-color:var(--primary);color:#FBF6EE}
.pick-mode[data-mode="dine"] i{color:rgba(251,246,238,.78)}
.pick-mode[data-mode="delivery"]{background:var(--gold);border-color:var(--gold);color:#3B0D1F}
.pick-mode[data-mode="delivery"] i{color:rgba(59,13,31,.72)}
.pick-mode[aria-pressed="true"]{box-shadow:0 0 0 3px #FBF6EE,0 0 0 5px var(--gold);transform:translateY(-1px)}
.pick-modes:has([aria-pressed="true"]) .pick-mode[aria-pressed="false"]{opacity:.85}
.pick-mode:hover{filter:brightness(1.05)}
.pick-c,.pick-more{background:var(--surface-2);border-color:transparent;color:var(--primary);font-weight:500}
.pick-c:hover{background:var(--primary-soft);border-color:var(--gold)}
.pick-c[aria-pressed="true"]{background:var(--primary);color:#FBF6EE;border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-soft)}
.pick-more{border:1px dashed var(--gold);background:transparent;color:var(--gold)}
.pick-dice{background:var(--gold-soft);border:1px solid var(--gold);color:var(--primary-deep)}
.pick-dice:hover{background:var(--gold);color:#3B0D1F}
.pick-go{background:var(--primary);color:#FBF6EE;box-shadow:0 6px 18px rgba(122,31,61,.25)}
.pick-go:hover{background:var(--primary-deep)}
/* V3 試吃片列（首頁 #video）：橫向 scroll-snap，手機 62vw≤240px，桌機一視窗 5 張 */
.sec-lead{max-width:36em;font-size:15px;line-height:1.7;color:var(--ink-2);margin:8px 0 20px}
.sec .sh+.sec-lead{margin-top:-8px}
/* 6A 品牌短文（刊頭語）：hero 之後、目錄之前；金色細線在上 */
.brand-note{padding:16px 0 4px;background:var(--bg)}
.brand-note .wrap{border-top:1px solid var(--gold);padding-top:16px}
.brand-note p{max-width:36em;margin:0;font-size:15px;line-height:1.8;color:var(--ink-2);letter-spacing:.02em}
@media (min-width:768px){.brand-note{padding:24px 0 8px}.brand-note .wrap{padding-top:20px}.brand-note p{font-size:16px}}
/* 3A 廚房索引小字「定點茶・外送茶」 */
.ki-m .ki-kw{font-size:11px;line-height:1.4;color:var(--ink-2);letter-spacing:.06em}
.ki-r .ki-kw{margin-left:auto;font-size:10px;color:var(--ink-2);white-space:nowrap;letter-spacing:0;opacity:.85}
.vd-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:4px 16px 8px;scroll-padding:0 16px}
.vd-row::-webkit-scrollbar{display:none}
.vd-row>*{flex:0 0 auto;width:62vw;max-width:240px;scroll-snap-align:start}
@media (min-width:768px){
.vd-row{margin:0 -32px;padding:4px 32px 8px;scroll-padding:0 32px;gap:16px}
.vd-row>*{width:240px}
}
@media (min-width:1024px){
.vd-row>*{width:calc((100% - 4 * 16px) / 5);max-width:none}
}
/* V3 官方色：LINE 綠 / Telegram 藍，三個變體固定；重複 class 拉高特定性壓過 .btn/.ob/.tgb 與 wine/mix 容器規則（不用 !important） */
body .cb-line.cb-line.cb-line.cb-line.cb-line.cb-line{background:#06C755;border-color:#06C755;color:#fff}
body .cb-line.cb-line.cb-line.cb-line.cb-line.cb-line:hover{background:#05b34c;border-color:#05b34c;color:#fff}
body .cb-tg.cb-tg.cb-tg.cb-tg.cb-tg.cb-tg{background:#2AABEE;border-color:#2AABEE;color:#fff}
body .cb-tg.cb-tg.cb-tg.cb-tg.cb-tg.cb-tg:hover{background:#229ED9;border-color:#229ED9;color:#fff}
body :is(.cb-line,.cb-tg) svg{fill:none;stroke:currentColor}
body .cb-line.cb-line.cb-line.cb-line.cb-line.dis,body .cb-tg.cb-tg.cb-tg.cb-tg.cb-tg.dis{opacity:1;filter:none}
/* V7 試吃片列：卡片內影片（底圖仍在，影片載入後蓋上） */
.ph-v .cv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity 400ms;background:transparent}
.ph-v .cv.on{opacity:1}
.ph-v .pd{display:none}
/* 骰子鈕紅底（Allen 2026-09-19），壓過 wine/mix 的 .dice 透明規則 */
body .pick-dice.pick-dice.pick-dice,body.theme-wine .pick-dice.pick-dice.pick-dice,body.theme-mix .pick-dice.pick-dice.pick-dice{background:#7A1F3D;border-color:#C9A24A;color:#FBF6EE}
body .pick-dice.pick-dice.pick-dice:hover,body.theme-wine .pick-dice.pick-dice.pick-dice:hover,body.theme-mix .pick-dice.pick-dice.pick-dice:hover{background:#5E1630;border-color:#C9A24A;color:#FBF6EE}
