/* 立美360水刀手工式洗車 — 樣式表（由 index.html 拆分）*/
/* ============================================================
   主題 Token（三套：黑金 gold / 水藍青 aqua / 白金 light）
   ============================================================ */
:root,
[data-theme="gold"]{
  --bg0:#0a0807;        /* 頁底 */
  --bg1:#100d0a;        /* 區塊 A */
  --bg2:#161009;        /* 區塊 B */
  --panel:#15110b;
  --accent:#E8B765;     /* 金 */
  --accent-2:#F6DEA6;   /* 亮金 */
  --accent-deep:#A9802f;
  --accent-rgb:232,183,101;
  --ink:#F4ECDE;        /* 主文字 */
  --mist:#B6A892;       /* 次文字 */
  --muted:#7c6f5c;      /* 三級 */
  --hero-a:#1c1408; --hero-b:#0d0a06; --hero-c:#070504;
  --glass-bg1:rgba(255,240,214,.07); --glass-bg2:rgba(255,240,214,.02);
  --glass-bd:rgba(232,183,101,.16);
  --hair:rgba(255,238,210,.10);
  --grain:.05;
}
[data-theme="aqua"]{
  --bg0:#060f17; --bg1:#08151f; --bg2:#0a1c28; --panel:#0b1a25;
  --accent:#5FD0F0; --accent-2:#bfeeff; --accent-deep:#2E7CB8;
  --accent-rgb:95,208,240;
  --ink:#EAF4FA; --mist:#92B2C6; --muted:#54707f;
  --hero-a:#123a52; --hero-b:#091a26; --hero-c:#050d14;
  --glass-bg1:rgba(180,224,255,.075); --glass-bg2:rgba(180,224,255,.02);
  --glass-bd:rgba(95,208,240,.18);
  --hair:rgba(210,235,250,.10);
  --grain:.04;
}
[data-theme="light"]{
  --bg0:#efeae0; --bg1:#f6f2ea; --bg2:#e9e2d4; --panel:#ffffff;
  --accent:#B07A2B; --accent-2:#caa24f; --accent-deep:#8a5e1d;
  --accent-rgb:176,122,43;
  --ink:#211b13; --mist:#6c6354; --muted:#9b9384;
  --hero-a:#fbf7ee; --hero-b:#ece5d6; --hero-c:#ded4c0;
  --glass-bg1:rgba(255,255,255,.72); --glass-bg2:rgba(255,255,255,.40);
  --glass-bd:rgba(120,98,60,.20);
  --hair:rgba(40,30,15,.10);
  --grain:.025;
}

:root{ --warn:#d65668; --warn-rgb:214,86,104; --line-green:#06C755; --maxw:1180px; }

/* ============================================================
   基礎
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{
  background:var(--bg0);color:var(--ink);
  font-family:"Noto Sans TC","Saira",system-ui,sans-serif;
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  transition:background .7s ease,color .7s ease;
}
body.lang-en{font-family:"Saira","Noto Sans TC",system-ui,sans-serif}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
canvas{display:block}
::selection{background:rgba(var(--accent-rgb),.32);color:var(--ink)}

.display{font-family:"Noto Sans TC",sans-serif;font-weight:900;line-height:1.07;letter-spacing:.005em}
body.lang-en .display{font-family:"Marcellus","Noto Sans TC",serif;font-weight:400;letter-spacing:.01em;line-height:1.08}
.anton{font-family:"Anton",sans-serif;font-weight:400;letter-spacing:.02em;line-height:.9}
.num{font-family:"Saira Condensed",sans-serif;font-weight:800;font-variant-numeric:tabular-nums}

/* 全域膠片噪點（電影質感）*/
.grain{position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:var(--grain);mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:200px 200px}

/* 擋風玻璃水珠（整頁，跟著捲動而流動）*/
.rain{position:fixed;inset:0;z-index:90;pointer-events:none;mix-blend-mode:overlay}
[data-theme="aqua"] .rain,[data-theme="gold"] .rain{mix-blend-mode:screen;opacity:.72}
/* 整頁漂浮水珠 / 泡沫視差層 */
.decor{will-change:transform;animation:floaty 9s ease-in-out infinite}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -16px}}

/* 捲動進度條 */
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:120;
  background:linear-gradient(90deg,var(--accent-deep),var(--accent),var(--accent-2));
  box-shadow:0 0 14px rgba(var(--accent-rgb),.7)}

/* 區塊 / 容器 */
.section{position:relative;padding:104px 22px;overflow:hidden}
.wrap{max-width:var(--maxw);margin:0 auto;position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:"Saira Condensed",sans-serif;font-weight:700;
  letter-spacing:.3em;text-transform:uppercase;font-size:12.5px;color:var(--accent)}
.eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--accent))}
.eyebrow .sep{color:var(--muted);margin:0 2px}
.sec-title{font-size:clamp(30px,6.4vw,58px);margin:14px 0 18px;letter-spacing:-.01em}
.sec-intro{color:var(--mist);max-width:660px;font-size:clamp(15px,2.4vw,17.5px);font-weight:300}
.tag-line{width:62px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--accent-2),var(--accent) 55%,var(--accent-deep))}
.accent-text{
  background:linear-gradient(92deg,var(--accent-deep),var(--accent) 42%,var(--accent-2) 70%,var(--accent));
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 7s ease-in-out infinite}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* 玻璃面板 */
.glass{position:relative;
  background:linear-gradient(180deg,var(--glass-bg1),var(--glass-bg2));
  -webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%);
  border:1px solid var(--glass-bd);border-radius:20px;
  box-shadow:0 30px 70px -34px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.14)}
[data-theme="light"] .glass{box-shadow:0 26px 60px -34px rgba(60,45,20,.35), inset 0 1px 0 rgba(255,255,255,.9)}
.glass::before{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.6),transparent)}

/* 視差色團 */
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;pointer-events:none;z-index:0}
.blob.a{background:radial-gradient(circle,rgba(var(--accent-rgb),.55),transparent 70%)}
.blob.b{background:radial-gradient(circle,rgba(var(--accent-rgb),.30),transparent 70%)}
[data-theme="light"] .blob{opacity:.5;filter:blur(90px)}

/* ============================================================
   導覽列
   ============================================================ */
.nav{position:fixed;top:0;left:0;right:0;z-index:110;transition:background .35s,border-color .35s,backdrop-filter .35s,padding .35s;
  border-bottom:1px solid transparent}
.nav.scrolled{background:color-mix(in srgb,var(--bg0) 78%,transparent);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--hair)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:11px;min-width:0}
.brand img{width:42px;height:42px;border-radius:50%;box-shadow:0 0 0 1.5px var(--glass-bd),0 6px 18px -6px rgba(0,0,0,.7)}
.brand .b-name{font-weight:700;font-size:15px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand .b-sub{font-family:"Saira Condensed",sans-serif;font-weight:600;letter-spacing:.18em;
  font-size:10px;color:var(--accent);text-transform:uppercase;margin-top:1px}
.brand .b-sub .b-sub-zh{font-family:"Noto Sans TC",sans-serif;letter-spacing:.04em;text-transform:none;font-weight:500}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:9px}

/* 主題切換 */
.theme-switch{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid var(--hair);border-radius:999px;
  background:color-mix(in srgb,var(--bg1) 60%,transparent)}
.theme-dot{width:17px;height:17px;border-radius:50%;cursor:pointer;border:1.5px solid transparent;position:relative;
  transition:transform .18s,border-color .18s}
.theme-dot:hover{transform:scale(1.14)}
.theme-dot[data-t="gold"]{background:linear-gradient(135deg,#2a1f0d,#E8B765)}
.theme-dot[data-t="aqua"]{background:linear-gradient(135deg,#0a1c28,#5FD0F0)}
.theme-dot[data-t="light"]{background:linear-gradient(135deg,#cfc6b2,#fff)}
.theme-dot.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}

.lang-btn{display:flex;align-items:center;border:1px solid var(--hair);border-radius:999px;overflow:hidden;
  font-family:"Saira Condensed",sans-serif;font-weight:700;font-size:13px}
.lang-btn span{padding:7px 11px;color:var(--mist);cursor:pointer;line-height:1;transition:.18s}
.lang-btn span.active{background:var(--accent);color:#1a1206}
[data-theme="light"] .lang-btn span.active{color:#fff}
.nav-line{display:none;align-items:center;gap:8px;color:var(--ink);
  border:1px solid var(--hair);background:color-mix(in srgb,var(--bg1) 55%,transparent);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  font-weight:600;padding:8px 16px;border-radius:999px;font-size:13.5px;letter-spacing:.01em;
  transition:transform .18s,box-shadow .18s,border-color .18s,background .2s,color .2s}
.nav-line:hover{background:var(--line-green);color:#063d1d;border-color:var(--line-green);transform:translateY(-1px);
  box-shadow:0 12px 26px -10px rgba(6,199,85,.55)}
.nav-line svg{width:18px;height:18px;color:var(--line-green);transition:color .2s}
.nav-line:hover svg{color:#063d1d}

/* ============================================================
   按鈕
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 27px;border-radius:14px;font-weight:700;font-size:16px;border:1px solid transparent;
  cursor:pointer;transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s,background .2s,border-color .2s;
  will-change:transform;position:relative}
.btn svg{width:20px;height:20px;flex:none}
.btn-line{background:var(--line-green);color:#063d1d;box-shadow:0 14px 32px -10px rgba(6,199,85,.6)}
.btn-line:hover{box-shadow:0 18px 40px -10px rgba(6,199,85,.75)}
.btn-gold{background:linear-gradient(120deg,var(--accent-deep),var(--accent) 55%,var(--accent-2));color:#1c1206;
  box-shadow:0 16px 38px -12px rgba(var(--accent-rgb),.65)}
.btn-gold:hover{box-shadow:0 22px 48px -12px rgba(var(--accent-rgb),.8)}
.btn-ghost{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);border-color:var(--hair);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}

/* ============================================================
   Hero
   ============================================================ */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;
  overflow:hidden;padding:118px 22px 70px;
  background:radial-gradient(125% 100% at 72% 6%,var(--hero-a) 0%,var(--hero-b) 48%,var(--hero-c) 100%)}
#scene{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity .8s ease}
#scene.ready{opacity:1}
#carmv{display:none;position:absolute;left:0;right:0;top:56%;bottom:94px;width:100%;z-index:2;pointer-events:none;background:transparent;
  --poster-color:transparent;opacity:0;transition:opacity .6s ease;filter:drop-shadow(0 24px 44px rgba(0,0,0,.4))}
#carmv.mv-ready{opacity:1}
#carmv::part(default-progress-bar){display:none}
@media(min-width:760px){ #carmv{display:block;top:8%;bottom:8%;left:42%;width:58%;height:auto} }
.hero-spot{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(420px 420px at var(--spx,70%) var(--spy,38%),rgba(var(--accent-rgb),.14),transparent 70%)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(125% 85% at 50% 42%,transparent 52%,color-mix(in srgb,var(--bg0) 80%,transparent) 100%)}
[data-theme="light"] .hero::after{background:radial-gradient(125% 85% at 50% 44%,transparent 50%,rgba(214,202,178,.6) 100%)}

.hero-grid{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;width:100%}
.ghost360{position:absolute;right:-2%;top:-16%;z-index:-1;font-size:clamp(180px,36vw,470px);
  color:transparent;-webkit-text-stroke:2px rgba(var(--accent-rgb),.14);
  pointer-events:none;user-select:none;line-height:.8;will-change:transform}
.hero-content{max-width:700px}
.hero .eyebrow{margin-bottom:16px}
.h1{margin:0 0 20px}
.h1 .l{display:block;overflow:hidden}
.h1 .l > span{display:block;font-size:clamp(40px,11vw,98px);transform:translateY(105%);
  animation:lineUp .95s cubic-bezier(.16,1,.3,1) forwards}
.h1 .l:nth-child(1) > span{animation-delay:.15s}
.h1 .l:nth-child(2) > span{animation-delay:.32s}
@keyframes lineUp{to{transform:translateY(0)}}
.hero .lede{color:var(--mist);font-size:clamp(15px,2.6vw,19px);max-width:560px;margin-bottom:30px;font-weight:300;
  opacity:0;animation:fadeUp .9s ease .62s forwards}
.cta-row{display:flex;gap:13px;flex-wrap:wrap;opacity:0;animation:fadeUp .9s ease .78s forwards}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;opacity:0;animation:fadeUp .9s ease .92s forwards}
.hero-meta .m{display:flex;align-items:center;gap:8px;color:var(--mist);font-size:13.5px}
.hero-meta .m svg{width:16px;height:16px;color:var(--accent)}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.side-label{position:absolute;left:26px;top:50%;transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl;font-family:"Saira Condensed",sans-serif;font-weight:700;letter-spacing:.42em;
  text-transform:uppercase;font-size:12px;color:color-mix(in srgb,var(--mist) 70%,transparent);z-index:3;display:none}
.scroll-cue{position:absolute;left:0;right:0;bottom:24px;margin-inline:auto;width:max-content;z-index:4;display:flex;flex-direction:column;
  align-items:center;gap:8px;color:var(--mist);font-family:"Saira Condensed",sans-serif;letter-spacing:.22em;
  font-size:11px;text-transform:uppercase;opacity:0;animation:fadeUp .9s ease 1.1s forwards}
.scroll-cue .mouse{width:22px;height:34px;border:1.5px solid color-mix(in srgb,var(--mist) 60%,transparent);border-radius:12px;position:relative}
.scroll-cue .mouse::after{content:"";position:absolute;left:50%;top:6px;width:3px;height:7px;border-radius:2px;
  background:var(--accent);transform:translateX(-50%);animation:wheel 1.6s ease-in-out infinite}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}

/* ============================================================
   跑馬燈
   ============================================================ */
.marquee{position:relative;overflow:hidden;padding:20px 0;background:var(--bg1);
  border-block:1px solid var(--hair)}
.marquee-track{display:flex;width:max-content;animation:scrollX 26s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track .it{display:inline-flex;align-items:center;gap:18px;padding:0 26px;
  font-family:"Saira Condensed",sans-serif;font-weight:700;letter-spacing:.04em;font-size:clamp(18px,3vw,26px);color:var(--ink)}
body.lang-en .marquee-track .it{font-family:"Marcellus",serif;font-weight:400}
.marquee-track .it::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent)}
.marquee-track .it.dim{color:var(--muted)}
@keyframes scrollX{to{transform:translateX(-50%)}}

/* ============================================================
   數據帶
   ============================================================ */
.stats{background:linear-gradient(180deg,var(--bg1),var(--bg0));padding:60px 22px}
.stats-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:34px 18px;position:relative;z-index:2}
.stat{text-align:center;position:relative}
.stat::after{content:"";position:absolute;right:-9px;top:18%;height:64%;width:1px;background:var(--hair);display:none}
.stat .v{display:flex;align-items:baseline;justify-content:center;gap:3px;line-height:1}
.stat .v .anton{font-size:clamp(50px,11vw,80px);
  background:linear-gradient(180deg,var(--ink),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .v .u{font-family:"Saira Condensed",sans-serif;font-weight:800;font-size:clamp(18px,4vw,28px);color:var(--accent)}
.stat .k{margin-top:9px;color:var(--mist);font-size:14px;letter-spacing:.02em}
.stat .k-note{margin-top:5px;color:var(--muted);font-size:11px;font-weight:300;line-height:1.35}

/* ============================================================
   對比
   ============================================================ */
.compare{display:grid;grid-template-columns:1fr;gap:16px;margin-top:42px;perspective:1600px}
.col{position:relative;padding:32px 28px 26px;border-radius:22px;overflow:hidden}
.col-head{display:flex;align-items:flex-start;gap:14px;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--hair)}
.col-ic{flex:none;width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center}
.col-ic svg{width:25px;height:25px}
.col-tt{min-width:0;padding-top:1px}
.col h3{font-size:19px;line-height:1.18;margin:0;letter-spacing:-.01em;font-weight:700}
.col-sub{font-size:12.5px;color:var(--muted);margin-top:4px;font-weight:300}
.badge-mini{display:inline-block;font-family:"Saira Condensed",sans-serif;font-weight:700;font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;border-radius:7px;margin-bottom:9px;white-space:nowrap}
.col.lose{filter:saturate(.45) brightness(.97);opacity:.9}
.col.lose .col-ic{background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--mist);border:1px solid var(--hair)}
.col.lose .badge-mini{background:color-mix(in srgb,var(--muted) 26%,transparent);color:var(--mist)}
.col.win{border:1px solid rgba(var(--accent-rgb),.42);
  box-shadow:0 44px 100px -54px rgba(var(--accent-rgb),.75),inset 0 1px 0 rgba(255,255,255,.16)}
.col.win::before{content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;z-index:0;
  background:radial-gradient(130% 80% at 50% 0%,rgba(var(--accent-rgb),.15),transparent 58%)}
.col.win > *{position:relative;z-index:1}
.col.win .col-ic{background:linear-gradient(150deg,var(--accent-2),var(--accent) 45%,var(--accent-deep));color:#1c1206;
  box-shadow:0 12px 26px -8px rgba(var(--accent-rgb),.75)}
.col.win .badge-mini{background:linear-gradient(90deg,var(--accent-deep),var(--accent));color:#fff;text-shadow:0 1px 1px rgba(60,40,8,.45)}
.col.win .ribbon{position:absolute;top:20px;right:20px;z-index:3;display:inline-flex;align-items:center;gap:5px;line-height:1;
  background:linear-gradient(90deg,var(--accent-deep),var(--accent));color:#fff;text-shadow:0 1px 1px rgba(60,40,8,.5);
  font-family:"Saira Condensed",sans-serif;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  font-size:11px;padding:5px 12px;border-radius:999px;box-shadow:0 8px 20px -8px rgba(var(--accent-rgb),.8)}
.ribbon svg{width:12px;height:12px;display:block;flex:none}
.ribbon > span{display:inline-flex;align-items:center;line-height:1}
.col.win .col-head{padding-right:64px}
.cmp-item{display:flex;gap:13px;align-items:flex-start;padding:13px 11px;margin:0 -11px;border-radius:12px;
  font-size:14.5px;color:var(--mist);line-height:1.5;transition:background .2s}
.col.win .cmp-item:hover{background:rgba(var(--accent-rgb),.07)}
.cmp-item.yes{color:var(--ink)}
.cmp-item .ic{flex:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px}
.cmp-item.no .ic{background:rgba(var(--warn-rgb),.16);color:var(--warn);box-shadow:inset 0 0 0 1px rgba(var(--warn-rgb),.32)}
.cmp-item.yes .ic{background:rgba(var(--accent-rgb),.2);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.42)}
.cmp-item .ic svg{width:13px;height:13px}
.vs{display:flex;align-items:center;justify-content:center;padding:4px 0}
.vs span{position:relative;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:"Anton",sans-serif;font-size:21px;color:var(--ink);letter-spacing:.04em;
  background:linear-gradient(180deg,var(--panel),var(--bg1));border:1px solid var(--glass-bd);
  box-shadow:0 16px 32px -16px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.18)}
.vs span::before{content:"";position:absolute;inset:-5px;border-radius:50%;
  border:1px dashed rgba(var(--accent-rgb),.5)}

/* ============================================================
   服務卡
   ============================================================ */
.cards{display:grid;grid-template-columns:1fr;gap:20px;margin-top:38px}
.card{position:relative;padding:34px 30px 30px;cursor:default;border-radius:20px;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s;
  will-change:transform}
.card::after{content:"";position:absolute;left:30px;right:30px;top:0;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  opacity:0;transform:scaleX(.4);transform-origin:50% 50%;transition:opacity .3s,transform .3s}
.card:hover{border-color:rgba(var(--accent-rgb),.4);z-index:5;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.6),0 0 0 1px rgba(var(--accent-rgb),.18) inset}
[data-theme="light"] .card:hover{box-shadow:0 36px 70px -42px rgba(60,45,20,.4),0 0 0 1px rgba(var(--accent-rgb),.2) inset}
.card:hover::after{opacity:1;transform:scaleX(1)}
.card .ic-box{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  background:linear-gradient(150deg,rgba(var(--accent-rgb),.30),rgba(var(--accent-rgb),.06));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 20px -10px rgba(var(--accent-rgb),.5);
  border:1px solid rgba(var(--accent-rgb),.22);transition:transform .3s}
.card:hover .ic-box{transform:scale(1.06) rotate(-3deg)}
.card .ic-box svg{width:27px;height:27px;color:var(--accent)}
.card h4{font-size:20px;margin-bottom:9px;letter-spacing:-.01em}
.card p{color:var(--mist);font-size:14.5px;line-height:1.6;font-weight:300}
.card .sheen{position:absolute;inset:0;border-radius:20px;pointer-events:none;opacity:0;transition:opacity .25s;
  background:radial-gradient(220px 220px at var(--mx,50%) var(--my,0%),rgba(var(--accent-rgb),.16),transparent 62%)}
.card:hover .sheen{opacity:1}
.card .no{position:absolute;top:24px;right:28px;font-family:"Saira Condensed",sans-serif;font-weight:800;font-size:30px;
  line-height:1;color:transparent;-webkit-text-stroke:1.3px rgba(var(--accent-rgb),.32);letter-spacing:.02em}

/* ============================================================
   品牌影片佔位
   ============================================================ */
.video-frame{position:relative;margin-top:34px;border-radius:24px;overflow:hidden;aspect-ratio:16/9;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:20px;
  border:1px solid var(--glass-bd);
  background:radial-gradient(80% 120% at 70% 0%,rgba(var(--accent-rgb),.26),transparent 60%),
            radial-gradient(70% 100% at 0% 100%,rgba(var(--accent-rgb),.12),transparent 55%),
            linear-gradient(180deg,var(--bg2),var(--bg0))}
.video-frame .vb{width:96px;height:96px;border-radius:50%;position:relative}
.video-frame .vb img{width:100%;height:100%;border-radius:50%}
.video-frame .vb .ring{position:absolute;inset:-11px;border-radius:50%;border:2px dashed rgba(var(--accent-rgb),.5);animation:spin 16s linear infinite}
.video-frame .vb .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.video-frame .vb .play svg{width:30px;height:30px;color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
@keyframes spin{to{transform:rotate(360deg)}}
.video-frame .v-title{font-size:19px;font-weight:700}
.video-frame .v-sub{font-size:13px;color:var(--muted)}
/* 影片框承載真實 <video>：移除佔位卡片的留白與漸層，讓影片完整鋪滿、不被裁切 */
.video-frame{padding:0;background:#000}
.video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain !important}

/* ============================================================
   價目
   ============================================================ */
.price-note{color:var(--mist);font-size:14px;margin-top:12px;display:flex;align-items:center;gap:8px;font-weight:300}
.price-note svg{width:17px;height:17px;color:var(--accent);flex:none}
.veh-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:32px}
.veh{position:relative;overflow:hidden;border-radius:20px;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s}
.veh::after{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .3s}
.veh:hover{transform:translateY(-6px);border-color:rgba(var(--accent-rgb),.4);
  box-shadow:0 40px 84px -44px rgba(0,0,0,.6),0 0 0 1px rgba(var(--accent-rgb),.16) inset}
[data-theme="light"] .veh:hover{box-shadow:0 34px 66px -44px rgba(60,45,20,.4),0 0 0 1px rgba(var(--accent-rgb),.2) inset}
.veh:hover::after{opacity:1}
.veh-card{padding:30px 28px 30px;display:flex;flex-direction:column;gap:18px;height:100%}
.veh-top{display:flex;align-items:center;gap:14px}
.veh-ic{width:56px;height:56px;flex:none;box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  border-radius:15px;color:var(--accent);background:linear-gradient(150deg,rgba(var(--accent-rgb),.26),rgba(var(--accent-rgb),.05));
  border:1px solid rgba(var(--accent-rgb),.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.veh-ic svg{width:28px;height:28px}
.veh-top h4{font-size:22px;letter-spacing:-.01em;line-height:1.1}
.veh-top .veh-en{display:block;font-family:"Saira Condensed",sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mist);margin-top:3px}
.veh-price{display:flex;align-items:baseline;gap:1px;margin-top:auto}
.veh-price .num{font-size:56px;line-height:.9;font-family:"Saira Condensed",sans-serif;font-weight:700;
  background:linear-gradient(160deg,var(--ink) 30%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.veh-price .nt,.veh-price .yuan{font-size:16px;color:var(--mist);font-weight:600}
.veh-price .nt{margin-right:3px}.veh-price .yuan{margin-left:3px;align-self:center}
.veh-svc{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.veh-svc .svc-name{font-size:15.5px;color:var(--ink);font-weight:600}
.veh-svc .svc-tag{font-family:"Saira Condensed",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--accent);border:1px solid rgba(var(--accent-rgb),.4);border-radius:7px;padding:3px 9px}
.veh-feat{list-style:none;display:flex;flex-direction:column;gap:9px;padding-top:18px;margin-top:2px;border-top:1px solid var(--hair)}
.veh-feat li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--mist);font-weight:300;line-height:1.4}
.veh-feat li svg{width:16px;height:16px;flex:none;color:var(--accent);margin-top:1px}
.nt::before{content:""}.yuan::before{content:"元"}
body.lang-en .nt::before{content:"NT$"}body.lang-en .yuan::before{content:""}

.addons{display:grid;grid-template-columns:1fr;gap:16px;margin-top:18px}
.addon-box{padding:24px 26px}
.addon-box h4{font-size:16px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.addon-box h4 .pill{display:inline-flex;align-items:center;line-height:1;font-family:"Saira Condensed",sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);border:1px solid rgba(var(--accent-rgb),.4);border-radius:7px;padding:4px 10px}
.addon-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--hair);
  font-size:14.5px;color:var(--mist)}
.addon-row:first-of-type{border-top:0}
.addon-row .p{color:var(--ink);white-space:nowrap}
.addon-row .p .num{font-size:19px}
.addon-row .p .nt,.addon-row .p .yuan{font-size:12px;color:var(--mist);font-weight:600}

.notes{margin-top:26px;padding:28px 30px;border-radius:20px;
  background:linear-gradient(180deg,rgba(var(--warn-rgb),.08),rgba(var(--warn-rgb),.02));
  border:1px solid rgba(var(--warn-rgb),.24)}
.notes h4{font-size:15.5px;margin-bottom:16px;display:flex;align-items:center;gap:11px;color:var(--ink);letter-spacing:.01em}
.notes h4 svg{width:34px;height:34px;padding:7px;flex:none;border-radius:10px;color:var(--warn);box-sizing:border-box;
  background:rgba(var(--warn-rgb),.16);border:1px solid rgba(var(--warn-rgb),.3)}
.notes ul{counter-reset:n;display:grid;gap:0}
.notes li{display:flex;gap:13px;align-items:flex-start;font-size:14px;color:var(--mist);padding:13px 0;font-weight:300;
  line-height:1.55;border-top:1px solid rgba(var(--warn-rgb),.14)}
.notes li:first-child{border-top:0}
.notes li::before{counter-increment:n;content:counter(n,decimal-leading-zero);flex:none;
  width:23px;height:23px;border-radius:7px;display:flex;align-items:center;justify-content:center;margin-top:0;
  font-family:"Saira Condensed",sans-serif;font-weight:700;font-size:11px;color:var(--warn);
  background:rgba(var(--warn-rgb),.15);border:1px solid rgba(var(--warn-rgb),.3)}

/* ============================================================
   顧客好評（輪播）
   ============================================================ */
.rev-badge{display:inline-flex;align-items:center;gap:12px;margin-top:18px;padding:10px 18px;border-radius:14px;
  background:linear-gradient(180deg,var(--glass-bg1),var(--glass-bg2));border:1px solid var(--glass-bd)}
.rev-badge .g{display:inline-flex;align-items:center;gap:7px;font-family:"Saira Condensed",sans-serif;font-weight:700;
  font-size:13px;letter-spacing:.04em;color:var(--ink)}
.rev-badge .g svg{width:18px;height:18px;flex:none}
.rev-badge .score{font-family:"Anton",sans-serif;font-size:26px;line-height:1;color:var(--accent)}
.rev-badge .stars-sm{display:inline-flex;gap:1px;color:var(--accent)}
.rev-badge .stars-sm svg{width:14px;height:14px}
.rev-badge .rev-count{font-size:12.5px;color:var(--mist);font-weight:300}
.rev-stage{position:relative;margin-top:34px}
.rev-viewport{overflow:hidden;border-radius:22px}
.rev-track{display:flex;will-change:transform;transition:transform .65s cubic-bezier(.22,.61,.31,1)}
.rev-card{flex:0 0 100%;box-sizing:border-box;padding:40px 38px 34px;position:relative}
.rev-quote{position:absolute;top:22px;right:30px;font-family:"Anton",serif;font-size:110px;line-height:1;
  color:rgba(var(--accent-rgb),.14);pointer-events:none;user-select:none}
.rev-stars{display:inline-flex;gap:3px;color:var(--accent);margin-bottom:18px}
.rev-stars svg{width:20px;height:20px}
.rev-text{font-size:17px;line-height:1.75;color:var(--ink);font-weight:300;white-space:pre-line;
  min-height:132px;text-wrap:pretty;position:relative;z-index:1}
.rev-author{display:flex;align-items:center;gap:13px;margin-top:24px;padding-top:20px;border-top:1px solid var(--hair)}
.rev-avatar{width:46px;height:46px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:"Saira Condensed",sans-serif;font-weight:700;font-size:18px;color:#241a09;
  background:linear-gradient(150deg,var(--accent-2),var(--accent) 55%,var(--accent-deep));
  box-shadow:0 8px 18px -8px rgba(var(--accent-rgb),.7)}
[data-theme="light"] .rev-avatar{color:#fff}
.rev-who{display:flex;flex-direction:column;gap:2px;min-width:0}
.rev-name{font-weight:600;font-size:15px;color:var(--ink)}
.rev-date{font-family:"Saira Condensed",sans-serif;font-size:12px;letter-spacing:.06em;color:var(--mist);
  display:inline-flex;align-items:center;gap:6px}
.rev-date .gmark{display:inline-flex;align-items:center;gap:4px;text-transform:uppercase;font-weight:700}
.rev-date .gmark svg{width:12px;height:12px}
.rev-ctrl{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}
.rev-arrow{width:46px;height:46px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--ink);background:linear-gradient(180deg,var(--glass-bg1),var(--glass-bg2));
  border:1px solid var(--glass-bd);transition:transform .2s,border-color .2s,background .2s}
.rev-arrow:hover{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.1)}
.rev-arrow svg{width:20px;height:20px}
.rev-dots{display:flex;align-items:center;gap:9px}
.rev-dot{width:8px;height:8px;border-radius:50%;cursor:pointer;border:0;padding:0;
  background:color-mix(in srgb,var(--mist) 45%,transparent);transition:width .3s,background .3s}
.rev-dot.on{width:26px;border-radius:5px;background:var(--accent)}
.rev-more{display:flex;justify-content:center;margin-top:26px}
@media(min-width:820px){
  .rev-card{padding:48px 54px 40px}
  .rev-text{font-size:18.5px;min-height:120px}
}

/* ============================================================
   最新活動 / 公告
   ============================================================ */
.news-band{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding:34px 30px;
  background:radial-gradient(130% 150% at 100% 0%,rgba(var(--accent-rgb),.18),transparent 58%),linear-gradient(180deg,var(--glass-bg1),var(--glass-bg2))}
.news-ic{flex:none;width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,var(--accent-2),var(--accent) 45%,var(--accent-deep));color:#1c1206;
  box-shadow:0 14px 30px -10px rgba(var(--accent-rgb),.7),inset 0 1px 0 rgba(255,255,255,.3)}
.news-ic svg{width:28px;height:28px}
.news-body{flex:1;min-width:0}
.news-flag{display:inline-flex;align-items:center;gap:9px;font-family:"Saira Condensed",sans-serif;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;font-size:11.5px;color:var(--accent)}
.news-flag .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);position:relative}
.news-flag .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:ping 1.9s ease-out infinite}
@keyframes ping{0%{transform:scale(1);opacity:.65}80%,100%{transform:scale(2.8);opacity:0}}
.news-band h3{font-size:clamp(22px,4.4vw,32px);margin:11px 0 9px;letter-spacing:-.01em}
.news-band p{color:var(--mist);font-size:15px;font-weight:300;max-width:570px;line-height:1.6}
.news-cta{display:flex;flex-wrap:wrap;gap:12px}
.news-id{display:inline-flex;align-items:center;gap:8px;color:var(--mist);font-size:13.5px;
  border:1px dashed var(--glass-bd);border-radius:12px;padding:0 16px}
.news-id b{color:var(--ink);font-family:"Saira",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:.06em;font-weight:600;font-size:14.5px}
@media(min-width:820px){
  .news-band{flex-direction:row;align-items:center;gap:30px;padding:40px 44px}
  .news-cta{margin-left:auto;flex-direction:column;align-items:stretch;flex:none}
}

/* ============================================================
   浮動章節導覽
   ============================================================ */
section[id]{scroll-margin-top:84px}
.dotnav{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:96;display:none;flex-direction:column;gap:13px}
.dotnav a{display:flex;align-items:center;gap:10px;justify-content:flex-end;color:var(--mist);text-decoration:none;cursor:pointer}
.dotnav .t{font-family:"Saira Condensed",sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:11px;
  white-space:nowrap;opacity:0;transform:translateX(8px);transition:opacity .25s,transform .25s,color .25s;
  background:color-mix(in srgb,var(--bg0) 82%,transparent);padding:5px 11px;border-radius:9px;border:1px solid var(--hair);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.dotnav .d{width:11px;height:11px;border-radius:50%;flex:none;background:transparent;
  border:2px solid color-mix(in srgb,var(--mist) 55%,transparent);transition:.25s}
.dotnav a:hover .t{opacity:1;transform:none}
.dotnav a:hover .d{border-color:var(--accent);transform:scale(1.15)}
.dotnav a.active .d{background:var(--accent);border-color:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 24%,transparent)}
.dotnav a.active .t{opacity:1;transform:none;color:var(--ink)}
@media(min-width:1024px){ .dotnav{display:flex} }
.dotnav a:active .d{transform:scale(.78)}
.section-arrive{animation:sectionArrive 1.05s ease-out}
@keyframes sectionArrive{0%{box-shadow:inset 0 0 0 2px rgba(var(--accent-rgb),.55),inset 0 0 60px rgba(var(--accent-rgb),.22)}100%{box-shadow:inset 0 0 0 0 transparent,inset 0 0 0 transparent}}

/* ============================================================
   門市資訊
   ============================================================ */
.info-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:40px}

/* 天氣與服務提醒卡片（沿用 .glass 底；桌機兩欄、手機堆疊） */
.notice-grid{align-items:stretch}
@media(min-width:760px){ .notice-grid{grid-template-columns:1fr 1fr} }
.notice-card{padding:24px 22px}
.notice-head{display:flex;align-items:center;gap:11px;font-weight:800;font-size:17.5px;color:var(--accent);letter-spacing:.01em}
.notice-head svg{width:23px;height:23px;flex:none}
.notice-card.is-warn .notice-head{color:var(--warn)}
.notice-line{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14.8px;line-height:1.62;color:var(--ink)}
.notice-dot{flex:none;width:7px;height:7px;margin-top:9px;border-radius:50%;background:var(--accent)}
.notice-card.is-warn .notice-dot{background:var(--warn)}
.notice-warn{display:inline-block;margin-top:16px;padding:9px 13px;font-size:14px;font-weight:700;color:var(--warn);background:rgba(var(--warn-rgb),.12);border:1px solid rgba(var(--warn-rgb),.28);border-radius:11px}
.notice-sub{margin-top:14px;font-size:12.8px;line-height:1.55;color:var(--mist)}
.info-list{padding:10px 14px}
.info-list .row{display:flex;gap:16px;align-items:flex-start;padding:18px 14px;border-radius:16px;
  transition:background .25s;position:relative}
.info-list .row:not(:last-of-type)::after{content:"";position:absolute;left:76px;right:14px;bottom:0;height:1px;background:var(--hair)}
.info-list .row:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.info-list .ic{flex:none;width:48px;height:48px;border-radius:14px;
  background:linear-gradient(150deg,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.05));
  border:1px solid rgba(var(--accent-rgb),.22);display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 18px -10px rgba(var(--accent-rgb),.5)}
.info-list .ic svg{width:21px;height:21px;color:var(--accent)}
.info-list .rc{min-width:0;flex:1}
.info-list .k{font-family:"Saira Condensed",sans-serif;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  font-size:11px;color:var(--muted)}
.info-list .v{font-size:16.5px;color:var(--ink);font-weight:500;margin-top:4px;line-height:1.4}
.info-list .v a{transition:color .2s}
.info-list .v a:hover{color:var(--accent)}
.today-badge{display:inline-flex;align-items:flex-start;gap:6px;margin-top:8px;max-width:100%;
  font-size:11.5px;font-weight:700;line-height:1.5;padding:4px 10px;border-radius:8px;border:1px solid transparent;
  overflow-wrap:anywhere} /* 店休原因可能很長：允許換行，不撐破窄螢幕排版 */
.today-badge[hidden]{display:none} /* display:inline-flex 會蓋掉 hidden 屬性的預設 display:none，需明確補上 */
.today-badge[data-state="open"]{background:rgba(6,199,85,.12);border-color:rgba(6,199,85,.32);color:#0a9d4d}
.today-badge[data-state="open"][data-phase="pre"]{background:rgba(201,153,46,.14);border-color:rgba(201,153,46,.32);color:#8a5e1d}
.today-badge[data-state="open"][data-phase="post"]{background:rgba(168,155,134,.16);border-color:rgba(168,155,134,.35);color:#6c6354}
.today-badge[data-state="dayOff"],
.today-badge[data-state="tempClosed"]{background:rgba(var(--warn-rgb),.14);border-color:rgba(var(--warn-rgb),.3);color:var(--warn)}
/* 查詢中／打不到 API 退回固定資訊：中性樣式 */
.today-badge[data-state="loading"],
.today-badge[data-state="fallback"]{background:rgba(var(--accent-rgb),.10);border-color:rgba(var(--accent-rgb),.24);color:var(--mist)}
/* 停止收車：暖橘/琥珀色，與紅色的公休/店休明顯區隔 */
.today-badge[data-state="stopped"]{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.34);color:#b45309}
.info-cta{display:flex;gap:11px;flex-wrap:wrap;margin:22px 14px 8px}
.info-cta .btn{flex:1;min-width:160px}
.map-box{border-radius:20px;overflow:hidden;min-height:340px;padding:6px}
.map-box iframe{width:100%;height:100%;min-height:340px;border:0;display:block;border-radius:15px;filter:grayscale(.25) contrast(1.05)}
[data-theme="light"] .map-box iframe{filter:none}

/* ============================================================
   Footer
   ============================================================ */
.footer{position:relative;border-top:1px solid var(--hair);background:var(--bg1);padding:56px 22px 120px;overflow:hidden}
.foot-inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;position:relative;z-index:2}
.foot-brand{display:flex;gap:14px;align-items:flex-start;max-width:380px}
.foot-brand img{width:56px;height:56px;border-radius:50%;box-shadow:0 0 0 1.5px var(--glass-bd)}
.foot-brand .f-name{font-weight:700;font-size:16px;line-height:1.25}
.foot-brand .f-sub{color:var(--mist);font-size:13.5px;margin-top:6px;font-weight:300}
.foot-links{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}
.foot-links a{display:inline-flex;align-items:center;gap:8px;font-size:14px;border:1px solid var(--hair);border-radius:11px;
  padding:11px 16px;color:var(--mist);transition:.18s}
.foot-links a:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}
.foot-links a svg{width:16px;height:16px}
.copyright{max-width:var(--maxw);margin:34px auto 0;color:var(--muted);font-size:12.5px;
  border-top:1px solid var(--hair);padding-top:18px;position:relative;z-index:2;
  display:flex;flex-wrap:wrap;gap:14px 22px;justify-content:space-between;align-items:center}
.cr-text{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 18px;line-height:1.7} /* col-gap 18px 區隔版權與署名；手機換行時不留孤立分隔點 */
.cr-credit{display:inline-flex;align-items:center;gap:7px;color:var(--mist)} /* 署名提至 mist（三主題達 AA）；與商家版權以間距+色差區隔 */
.cr-credit .cr-by{color:var(--mist);font-weight:600;letter-spacing:.02em} /* 作者名加重，但仍屬 footer 最低階 */
/* 聯絡作者：複用 foot-links 膠囊語彙；min-height 撐足 ≥44px 觸控目標 */
.cr-contact{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--mist);flex:none;
  border:1px solid var(--hair);border-radius:11px;padding:0 15px;min-height:44px;box-sizing:border-box;
  transition:border-color .18s,color .18s,transform .18s}
.cr-contact svg{width:15px;height:15px}
.cr-contact:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}

/* ============================================================
   手機固定底部 CTA
   ============================================================ */
.sticky-cta{position:fixed;left:12px;right:12px;bottom:calc(11px + env(safe-area-inset-bottom));z-index:100;display:flex;gap:10px;
  padding:10px;border-radius:20px;
  background:color-mix(in srgb,var(--bg1) 84%,transparent);
  -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--glass-bd);
  box-shadow:0 18px 44px -14px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.14)}
.sticky-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 12px;border-radius:14px;
  font-weight:700;font-size:15px;letter-spacing:.01em;transition:transform .15s,box-shadow .2s}
.sticky-cta a:active{transform:scale(.96)}
.sticky-cta a svg{width:19px;height:19px;flex:none}
.sticky-cta .s-line{background:var(--line-green);color:#063d1d;box-shadow:0 12px 24px -10px rgba(6,199,85,.6)}
.sticky-cta .s-call{background:linear-gradient(120deg,var(--accent-deep),var(--accent) 60%,var(--accent-2));color:#1c1206;
  box-shadow:0 12px 24px -10px rgba(var(--accent-rgb),.6)}

/* ============================================================
   進場 / 視差 / 焦點
   ============================================================ */
.reveal{opacity:0;transform:translateY(42px);
  transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.par{will-change:transform}
a:focus-visible,.btn:focus-visible,.lang-btn span:focus-visible,.theme-dot:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}

/* ============================================================
   響應式
   ============================================================ */
@media(min-width:560px){
  .stats-grid{grid-template-columns:repeat(4,1fr)}
  .stat::after{display:block}
  .stat:last-child::after{display:none}
}
@media(min-width:720px){
  .compare{grid-template-columns:1fr auto 1fr;align-items:center}
  .cards{grid-template-columns:repeat(2,1fr)}
  .addons{grid-template-columns:1fr 1fr}
  .veh-grid{grid-template-columns:repeat(3,1fr)}
  .side-label{display:block}
}
@media(min-width:960px){
  .section{padding:130px 24px}
  .cards{grid-template-columns:repeat(3,1fr)}
  .info-grid{grid-template-columns:1.05fr 1fr;align-items:stretch}
  .nav-line{display:inline-flex}
  .sticky-cta{display:none}
  .footer{padding-bottom:56px}
}
@media(min-width:720px) and (hover:hover){
  .col{transition:transform .45s}
  .col.lose{transform:rotateY(8deg)}
  .col.win{transform:rotateY(-8deg)}
}
/* 依客戶需求：不因系統「減少動態」而關閉動畫與視差，所有裝置一律播放。
   （若未來需要尊重輔助使用設定，可將下列兩行恢復為原本的 media 查詢。） */

/* ========================= 場內即時車數 + 快速聯絡（整合式收合懸浮鈕） ========================= */
.lmc{ position:fixed; right:max(20px, env(safe-area-inset-right)); bottom:max(20px, env(safe-area-inset-bottom)); z-index:120; }
.lmc[data-state="loading"]{ display:none; }

/* 觸發鈕（收合狀態） */
.lmc-fab{ position:relative; display:inline-flex; align-items:center; gap:9px; height:52px; padding:0 18px 0 8px; border-radius:999px; border:none; cursor:pointer;
  background:rgba(255,255,255,.9); -webkit-backdrop-filter:blur(18px) saturate(140%); backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(var(--accent-rgb),.25); box-shadow:0 18px 40px -14px rgba(60,45,20,.5);
  transition:transform .14s, padding .22s, opacity .2s; animation:lmcIn .5s cubic-bezier(.22,1,.36,1); }
@keyframes lmcIn{ from{opacity:0; transform:translateY(16px) scale(.96)} to{opacity:1; transform:none} }
.lmc-fab:active{ transform:scale(.96); }
.lmc-fab-ic{ flex:none; width:38px; height:38px; border-radius:50%; display:grid; place-items:center;
  background:linear-gradient(150deg,var(--accent-2),var(--accent) 58%,var(--accent-deep)); color:#fff; }
.lmc-fab-ic svg{ width:20px; height:20px; }
.lmc-fab-tx{ display:flex; flex-direction:column; line-height:1.04; }
.lmc-fab-lbl{ font-family:"Saira Condensed",sans-serif; font-weight:700; letter-spacing:.06em; font-size:9.5px; color:var(--accent-deep); }
.lmc-fab-num{ display:flex; align-items:baseline; gap:3px; }
.lmc-fab-num b{ font-family:"Anton",sans-serif; font-weight:400; font-size:23px; line-height:1; color:var(--ink); }
.lmc-fab-num i{ font-style:normal; font-family:"Saira Condensed",sans-serif; font-weight:700; font-size:12px; color:var(--accent); }
.lmc-fab-dot{ flex:none; width:8px; height:8px; border-radius:50%; background:var(--line-green); margin-left:1px; box-shadow:0 0 0 0 rgba(6,199,85,.5); animation:lmcPulse 2s infinite; }
@keyframes lmcPulse{ 0%{box-shadow:0 0 0 0 rgba(6,199,85,.5)} 70%{box-shadow:0 0 0 8px rgba(6,199,85,0)} 100%{box-shadow:0 0 0 0 rgba(6,199,85,0)} }

/* BETA 版本標記（場內即時車數為測試版功能）。
   ⚠ 字體採真實字重 Saira 600：站上 Saira 僅載入 400/500/600，
   若用 700 或 Saira Condensed 800 會觸發瀏覽器「合成粗體」，小字級下筆畫糊化、不清晰。 */

/* 狀態：count=車數膠囊；nocount=純圖示聯絡鈕（無文案；API 關閉/打不到時退化） */
.lmc-ic-chat{ display:none; }
.lmc[data-state="nocount"] .lmc-fab{ padding:7px; gap:0; }
.lmc[data-state="nocount"] .lmc-ic-car,
.lmc[data-state="nocount"] .lmc-fab-tx,
.lmc[data-state="nocount"] .lmc-fab-dot{ display:none; }

/* 收合按鈕的今日狀態簡述：只在「車數不顯示」(nocount) 且有狀態資料 (.biz-note) 時出現。
   營業中通常有車數(等於已表明有開)；公休/店休時按鈕不再只是一顆圓鈕，直接說明原因概要。 */
.lmc-fab-biz{ display:none; white-space:nowrap; font-size:13.5px; font-weight:700; line-height:1; }
.lmc-fab-biz[data-state="open"]{ color:#0a9d4d; }
.lmc-fab-biz[data-state="dayOff"], .lmc-fab-biz[data-state="tempClosed"]{ color:var(--warn); }
.lmc-fab-biz[data-phase="pre"]{ color:#8a5e1d; }  /* 開店前：金字「HH:MM 開始營業」 */
.lmc-fab-biz[data-phase="post"]{ color:#8a8070; } /* 打烊後：灰字「今日已打烊」（按鈕恆為白底） */
.lmc-fab-biz[data-state="stopped"]{ color:#b45309; } /* 停止收車：橘字「已停止收車」 */
.lmc.biz-note[data-state="nocount"] .lmc-fab{ padding:7px 16px 7px 7px; gap:8px; } /* 由圓鈕回到膠囊型 */
.lmc.biz-note[data-state="nocount"] .lmc-fab-biz:not([hidden]){ display:inline-flex; }
.lmc[data-state="nocount"] .lmc-ic-chat{ display:grid; }

/* 展開面板（桌面：鈕上方 popover） */
.lmc-panel{ position:absolute; right:0; bottom:64px; width:250px; transform-origin:bottom right;
  background:rgba(255,255,255,.97); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border:1px solid rgba(var(--accent-rgb),.2); border-radius:18px; box-shadow:0 28px 64px -22px rgba(60,45,20,.6); padding:16px 16px 14px;
  opacity:0; visibility:hidden; transform:scale(.9) translateY(10px); pointer-events:none;
  transition:opacity .2s, transform .22s cubic-bezier(.22,1,.36,1), visibility 0s .22s; }
.lmc.open .lmc-panel{ opacity:1; visibility:visible; transform:none; pointer-events:auto;
  transition:opacity .2s, transform .22s cubic-bezier(.22,1,.36,1); }
.lmc-grab{ display:none; }
.lmc-backdrop{ display:none; }
/* 面板頂部:今日營業狀態列(綠點=營業、紅點=公休/臨時店休;原因過長自動換行、最多 3 行) */
.lmc-biz{ display:flex; align-items:flex-start; gap:7px; padding-bottom:11px; margin-bottom:11px;
  border-bottom:1px solid rgba(60,45,20,.1); font-size:12.5px; font-weight:700; line-height:1.5; }
.lmc-biz[hidden]{ display:none; }
.lmc-biz-ic{ width:8px; height:8px; border-radius:50%; margin-top:5px; flex:none; }
.lmc-biz[data-state="open"]{ color:#0a9d4d; }
.lmc-biz[data-state="open"] .lmc-biz-ic{ background:#06C755; box-shadow:0 0 0 3px rgba(6,199,85,.15); }
.lmc-biz[data-state="dayOff"], .lmc-biz[data-state="tempClosed"]{ color:var(--warn); }
.lmc-biz[data-state="dayOff"] .lmc-biz-ic, .lmc-biz[data-state="tempClosed"] .lmc-biz-ic{
  background:var(--warn); box-shadow:0 0 0 3px rgba(var(--warn-rgb),.15); }
/* 營業日再依當下時間細分（面板恆為白底，用固定色即可）：
   pre＝尚未開始（金）、post＝已打烊（灰）；營業中維持綠色。 */
.lmc-biz[data-phase="pre"]{ color:#8a5e1d; }
.lmc-biz[data-phase="pre"] .lmc-biz-ic{ background:#c9992e; box-shadow:0 0 0 3px rgba(201,153,46,.18); }
.lmc-biz[data-phase="post"]{ color:#8a8070; }
.lmc-biz[data-phase="post"] .lmc-biz-ic{ background:#a89b86; box-shadow:0 0 0 3px rgba(168,155,134,.2); }
.lmc-biz[data-state="stopped"]{ color:#b45309; }                                                       /* 停止收車：橘 */
.lmc-biz[data-state="stopped"] .lmc-biz-ic{ background:#f59e0b; box-shadow:0 0 0 3px rgba(245,158,11,.18); }
.lmc-biz-tx{ min-width:0; overflow-wrap:anywhere;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.lmc-count{ padding-bottom:13px; margin-bottom:13px; border-bottom:1px solid rgba(60,45,20,.1); }
.lmc[data-state="nocount"] .lmc-count{ display:none; }
.lmc-count-h{ display:flex; align-items:center; gap:7px; font-family:"Saira Condensed",sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:10.5px; color:var(--accent-deep); }
.lmc-livedot{ width:8px; height:8px; border-radius:50%; background:var(--line-green); box-shadow:0 0 0 0 rgba(6,199,85,.5); animation:lmcPulse 2s infinite; }
.lmc-count-big{ display:flex; align-items:baseline; gap:7px; margin:6px 0 2px; }
.lmc-count-big b{ font-family:"Anton",sans-serif; font-size:42px; line-height:1; color:var(--ink); }
.lmc-count-big i{ font-style:normal; font-family:"Saira Condensed",sans-serif; font-weight:800; font-size:16px; color:var(--accent); }
.lmc-count-meta{ font-size:11px; color:var(--mist); margin-bottom:3px; }
.lmc-acts{ display:flex; gap:8px; }
.lmc-act{ flex:1; display:flex; align-items:center; justify-content:center; gap:6px; height:42px; border-radius:12px; font-family:"Saira Condensed",sans-serif; font-weight:700; font-size:14px; text-decoration:none; transition:filter .15s; }
.lmc-act:hover{ filter:brightness(1.05); }
.lmc-act svg{ width:17px; height:17px; }
.lmc-act.line{ background:var(--line-green); color:#fff; }
.lmc-act.tel{ background:rgba(var(--accent-rgb),.13); color:var(--accent-deep); }

/* ===== RWD：≤600px 改底部 sheet（不蓋上方內容、可下滑/點遮罩關閉） ===== */
@media(max-width:600px){
  .lmc{ right:max(13px, env(safe-area-inset-right)); bottom:max(13px, env(safe-area-inset-bottom)); }
  .lmc-backdrop{ display:block; position:fixed; inset:0; background:rgba(20,14,8,.45); opacity:0; pointer-events:none; transition:opacity .25s; }
  .lmc.open .lmc-backdrop{ opacity:1; pointer-events:auto; }
  .lmc.open .lmc-fab{ opacity:0; transform:scale(.85); pointer-events:none; }
  /* 收合時除了下移還加 visibility:hidden：iOS Safari 網址列縮放時版面視口與可視範圍差可達數十 px，
     只靠 translateY 藏可能從底部露出一截（网址列後方）。visibility 延遲到滑出動畫結束後才隱藏。 */
  .lmc-panel{ position:fixed; left:0; right:0; bottom:0; top:auto; width:auto; border-radius:22px 22px 0 0;
    padding:8px 20px calc(22px + env(safe-area-inset-bottom)); transform:translateY(calc(100% + 120px)); opacity:1;
    visibility:hidden; transition:transform .3s cubic-bezier(.22,1,.36,1), visibility 0s .3s; pointer-events:none; }
  .lmc.open .lmc-panel{ transform:none; visibility:visible; transition:transform .3s cubic-bezier(.22,1,.36,1); pointer-events:auto; }
  .lmc-grab{ display:block; width:42px; height:4px; border-radius:999px; background:rgba(60,45,20,.22); margin:6px auto 14px; }
  .lmc-count{ text-align:center; }
  .lmc-count-h, .lmc-count-big{ justify-content:center; }
  .lmc-biz{ justify-content:center; text-align:center; }
  .lmc-biz-ic{ margin-top:6px; }
  .lmc-acts{ gap:10px; }
  .lmc-act{ height:50px; font-size:15px; }
}
