:root{
  --paper:#F4EFE4; --paper-2:#ECE5D4; --card:#F9F5EC;
  --ink:#26221A; --ink-2:#5D564A; --ink-3:#8B8375;
  --cinnabar:#9E2B25; --cinnabar-h:#7C1F1A;
  --gold:#A8894A; --hairline:rgba(150,124,70,.55);
  --night:#1B1813; --night-2:#26211A;
  --paper-n:#EFE8D7; --dim-n:#A99F8C;
  --serif:'Noto Serif SC','Source Han Serif SC','Songti SC',STSong,'SimSun',serif;
  --sans:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;
  --t:.22s cubic-bezier(.4,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.skip{position:absolute;left:-999px;top:10px;z-index:99;background:var(--cinnabar);color:#fff;padding:10px 18px;font-family:var(--sans);font-size:13px}
.skip:focus{left:10px}
:focus-visible{outline:2px solid var(--cinnabar);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.notice{background:var(--night);color:var(--dim-n);font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-align:center;padding:11px 16px}
.notice b{color:var(--paper-n);font-weight:500}
.hd{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline)}
.hd__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{display:flex;align-items:center;gap:14px}
.brand__logo{height:52px;width:auto;flex:none}.brand__txt{display:flex;flex-direction:column;gap:3px;min-width:0}.ft .brand__en,.night .brand__en{color:var(--dim-n)}
.brand__name{font-size:21px;font-weight:700;letter-spacing:.2em;line-height:1.2;white-space:nowrap}
.brand__en{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.32em;color:var(--ink-3)}
.nav{display:flex;gap:clamp(16px,3vw,40px)}
.nav a{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--ink-2);padding:8px 2px;position:relative;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--cinnabar);transition:right var(--t)}
.nav a:hover{color:var(--ink)}
.nav a:hover::after{right:0}
.tools{display:flex;align-items:center;gap:20px}
.cart{position:relative;display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.14em;color:var(--ink-2);min-height:44px;white-space:nowrap}
.badge{min-width:19px;height:19px;border-radius:50%;background:var(--cinnabar);color:#fff;font-size:11px;display:grid;place-items:center}
@media(max-width:919px){.nav{display:none}}@media(max-width:479px){.brand__en{display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 34px;border:1px solid var(--cinnabar);font-family:var(--sans);font-size:14px;letter-spacing:.24em;text-indent:.1em;transition:all var(--t);cursor:pointer;background:transparent}
.btn--zhu{background:var(--cinnabar);color:#F6EFE0}
.btn--zhu:hover{background:var(--cinnabar-h);border-color:var(--cinnabar-h)}
.btn--ghost{border-color:var(--hairline);color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink)}
.shead{display:flex;align-items:baseline;gap:22px;margin-bottom:clamp(36px,5vw,60px)}
.shead__no{font-family:var(--sans);font-size:12px;letter-spacing:.4em;color:var(--gold);white-space:nowrap}
.shead h2{font-size:clamp(30px,4vw,44px);font-weight:700;letter-spacing:.12em;white-space:nowrap}
.shead__line{flex:1;height:1px;background:var(--hairline);align-self:center}
.shead__sub{font-family:var(--sans);font-size:12px;letter-spacing:.26em;color:var(--ink-3);white-space:nowrap}
@media(max-width:719px){.shead__sub{display:none}}
.gate-card{display:flex;flex-direction:column;gap:16px}
a.gate-card:hover .gate{box-shadow:inset 0 0 0 1px var(--gold),0 22px 44px -24px rgba(38,34,26,.3)}
.gate{position:relative;aspect-ratio:4/5;border:1px solid var(--hairline);border-bottom:0;border-radius:999px 999px 0 0;background:radial-gradient(130% 95% at 50% 100%,#FFFDF7 0%,var(--card) 52%,var(--paper-2) 100%);display:grid;place-items:center;overflow:hidden;transition:box-shadow var(--t)}
.gate::before{content:"";position:absolute;left:16%;right:16%;bottom:10%;height:42%;background:radial-gradient(52% 100% at 50% 100%,rgba(169,139,74,.2),transparent 72%)}
.gate__char{position:relative;font-size:clamp(64px,7.5vw,96px);font-weight:700;line-height:1;color:var(--ink);opacity:.17}
.gate__ped{position:absolute;left:22%;right:22%;bottom:13%;height:1px;background:var(--hairline)}
.gate__ped::after{content:"";position:absolute;left:50%;bottom:0;width:7px;height:7px;transform:translate(-50%,50%) rotate(45deg);background:var(--gold)}
.gc__top{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--sans);font-size:11px;letter-spacing:.28em;color:var(--ink-3)}
.gc__name{font-size:21px;font-weight:700;letter-spacing:.06em;line-height:1.4}
.gc__meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--sans);font-size:12px;letter-spacing:.16em;color:var(--ink-2)}
.tier::before{content:"";display:inline-block;width:6px;height:6px;transform:rotate(45deg);margin-right:8px;background:var(--gold);vertical-align:1px}
.tier--dc::before{background:var(--cinnabar)}
.tier--jp::before{background:var(--ink-3)}
.price-tbd{font-family:var(--sans);font-size:12px;letter-spacing:.24em;color:var(--gold)}
.crumb{font-family:var(--sans);font-size:12px;letter-spacing:.18em;color:var(--ink-3);padding-top:28px}
.crumb a:hover{color:var(--ink)}
/* —— 詳情專有 —— */
.detail{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,76px);padding:clamp(32px,4vw,56px) 0 clamp(56px,7vw,88px)}
@media(max-width:919px){.detail{grid-template-columns:1fr}}
.stage .gate{border-bottom:1px solid var(--hairline);border-radius:999px 999px 4px 4px}
.stage .gate__char{font-size:clamp(110px,13vw,180px)}
.thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:18px}
.thumb{width:auto;aspect-ratio:1;border:1px solid var(--hairline);border-radius:999px 999px 4px 4px;display:grid;place-items:center;font-size:26px;font-weight:700;color:var(--ink-3);background:var(--card);cursor:pointer;transition:all var(--t)}
.thumb:hover{border-color:var(--ink-2)}
.thumb[aria-current="true"]{border-color:var(--cinnabar);color:var(--cinnabar);box-shadow:inset 0 0 0 1px var(--cinnabar)}
.info h1{font-size:clamp(34px,4.2vw,52px);font-weight:700;letter-spacing:.1em;line-height:1.3}
.info__meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin:16px 0 26px;font-family:var(--sans);font-size:12px;letter-spacing:.18em;color:var(--ink-2)}
.info__meta .only{color:var(--cinnabar);font-weight:600}
.pricebox{border:1px solid var(--hairline);background:var(--card);padding:24px 26px;margin-bottom:28px}
.pricebox__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.pricebox__p{font-family:var(--sans);font-size:17px;letter-spacing:.3em;color:var(--gold);font-weight:600}
.pricebox__n{font-family:var(--sans);font-size:12px;letter-spacing:.14em;color:var(--ink-3);line-height:2;margin-top:10px}
.buy{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.facts{list-style:none;border-top:1px solid var(--hairline)}
.facts li{display:flex;gap:14px;align-items:center;padding:13px 2px;border-bottom:1px solid color-mix(in srgb,var(--hairline) 45%,transparent);font-family:var(--sans);font-size:13px;letter-spacing:.14em;color:var(--ink-2)}
.facts .dia{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex:none}
.archive{margin-top:34px}
.archive h2{font-family:var(--sans);font-size:12px;letter-spacing:.34em;color:var(--gold);margin-bottom:8px}
.archive dl{display:grid;grid-template-columns:auto 1fr;gap:0 26px;border-top:1px solid var(--hairline)}
.archive dt{padding:11px 0;font-family:var(--sans);font-size:12px;letter-spacing:.22em;color:var(--ink-3);border-bottom:1px solid color-mix(in srgb,var(--hairline) 45%,transparent);white-space:nowrap}
.archive dd{padding:11px 0;font-size:15px;letter-spacing:.06em;border-bottom:1px solid color-mix(in srgb,var(--hairline) 45%,transparent)}
.bless{margin-top:34px;border-left:2px solid var(--gold);padding:6px 0 6px 22px}
.bless p{font-size:15px;letter-spacing:.06em;line-height:2.1;color:var(--ink-2)}
.sec{padding:clamp(56px,8vw,96px) 0}
.sec--tint{background:var(--paper-2)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,44px)}
@media(max-width:819px){.grid3{grid-template-columns:1fr}}

/* ===== hd__acts：繁中▾ + 登入/註冊（集成于主頁頭一行，用戶拍板不加行） ===== */
.hd__acts{display:flex;align-items:center;gap:22px}
.util__lang,.util__acct{display:inline-flex;align-items:center;gap:7px;background:none;border:0;
  padding:11px 6px;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.14em;
  color:var(--ink-2);cursor:pointer;text-decoration:none;transition:color .18s ease;white-space:nowrap}
.util__lang:hover,.util__acct:hover{color:var(--cinnabar)}
.util__caret{font-size:10px;transform:translateY(-1px)}
.util__person{width:17px;height:17px;flex:none}
@media(max-width:639px){.hd__acts{gap:12px}.util__lang,.util__acct{font-size:12px;letter-spacing:.05em}}
@media(max-width:639px){.util__acct-t{display:none}}
@media(max-width:479px){.brand__logo{height:44px}.util__lang{margin-right:-4px}}

/* vbar 蓮花圖騰覆蓋層（對齊原站 blue-and-white-voice-guide-motif） */
.vbar{overflow:hidden}
.vbar::before{position:absolute;z-index:0;inset:0;content:"";pointer-events:none;opacity:.28;
  background-image:url("../../blue-and-white-voice-guide-motif.png");background-repeat:repeat-x;
  background-position:center 42%;background-size:700px auto;mix-blend-mode:screen}
.vbar>*{position:relative;z-index:1}
@media(max-width:639px){.vbar::before{opacity:.2;background-size:460px auto}}
@media(min-width:1440px){.vbar::before{opacity:.32;background-size:820px auto}}
/* ===== vbar：語音導覽通欄（對齊原站 zf-mobile-market-bar） ===== */
body{padding-bottom:64px}
/* 2026-09-30 修正：.vbar__lang 原繼承文件 1.75 行高，文字列膨脹到 47.5px，令通欄實際 81px
   （設計值 64px），造成 ① hero 主 CTA 被遮 15–24px ② 每頁頁尾最後 17px 被蓋住。
   現收緊行高與內距、並以 min-height 鎖定設計值 64px（頂緣 = fold 900 − 64 = 836）。 */
.vbar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;align-items:center;
  justify-content:space-between;gap:20px;padding:8px clamp(16px,4vw,40px);min-height:64px;
  background:var(--ink);color:var(--paper);border-top:1px solid var(--hairline)}
.vbar__lang{display:flex;align-items:center;gap:12px;background:none;border:0;padding:3px 4px;
  color:inherit;font:inherit;cursor:pointer;text-align:left;line-height:1.3}
.vbar__lang:hover .vbar__lang-en{color:var(--gold)}
.vbar__glyph{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--hairline);color:var(--gold);font-size:17px;flex:none}
.vbar__lang b{display:block;font-size:14px;letter-spacing:.12em;font-weight:600}
.vbar__lang small{display:block;font-size:12px;color:rgba(244,239,228,.62);letter-spacing:.08em;margin-top:2px}
.vbar__voice{display:inline-flex;align-items:center;gap:8px;background:var(--cinnabar);color:var(--paper);
  border:0;border-radius:999px;padding:11px 22px;font-size:14px;letter-spacing:.14em;
  cursor:pointer;transition:background .18s ease,transform .18s ease}
.vbar__voice:hover{background:#B7372F}
.vbar__voice:active{transform:scale(.97)}
.vbar__voice i{font-style:normal;font-size:15px}
.vsheet{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:24px}
.vsheet.is-open{display:flex}
.vsheet__mask{position:absolute;inset:0;background:rgba(20,17,12,.55)}
.vsheet__panel{position:relative;width:min(560px,100%);background:var(--paper);color:var(--ink);
  border:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:28px clamp(20px,5vw,36px) 34px}
/* 零关键帧动画：弹层以静态显示，避免动画被拦截时元素停在不透明为 0 的起始态 */
.vsheet__kicker{font-size:12px;letter-spacing:.3em;color:var(--cinnabar);margin:0 0 6px}
.vsheet__title{font-size:24px;letter-spacing:.14em;margin:0 0 10px;font-weight:600}
.vsheet__desc{font-size:14px;line-height:1.9;color:#6B6252;margin:0 0 18px}
.vsheet__close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--hairline);
  background:none;border-radius:50%;font-size:18px;cursor:pointer;color:#6B6252}
.vsheet__close:hover{color:var(--cinnabar);border-color:var(--cinnabar)}
.vlang__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.vlang__choice{border:1px solid var(--hairline);background:none;padding:12px 8px;cursor:pointer;
  display:flex;flex-direction:column;gap:4px;align-items:flex-start;font:inherit;color:inherit;
  transition:border-color .18s ease}
.vlang__choice small{font-size:11px;color:#6B6252;letter-spacing:.06em}
.vlang__choice:hover{border-color:var(--gold)}
.vlang__choice.is-cur{border-color:var(--cinnabar);box-shadow:inset 0 0 0 1px var(--cinnabar)}
.vlang__choice.is-cur small{color:var(--cinnabar)}
.vlang__status{margin:14px 0 0;font-size:12px;color:#6B6252;letter-spacing:.06em}
.vvoice__row{display:flex;align-items:center;gap:14px;border:1px solid var(--hairline);padding:14px 16px;margin-top:12px}
.vvoice__play{width:44px;height:44px;border-radius:50%;border:1px solid var(--hairline);background:none;
  display:grid;place-items:center;cursor:pointer;color:var(--cinnabar);font-size:16px;flex:none;
  transition:background .18s ease}
.vvoice__play:hover{background:rgba(158,43,37,.06)}
.vvoice__meta b{display:block;font-size:15px;letter-spacing:.1em}
.vvoice__meta small{font-size:12px;color:#6B6252;letter-spacing:.05em}
@media(max-width:639px){
  .vbar__lang small{display:none}
  .vbar__voice{padding:10px 16px}
  .vlang__grid{grid-template-columns:repeat(2,1fr)}
}
/* ==ZF3-ALIGN-CSS== */
/* —— 頁腳 —— */
.night{background:var(--night);color:var(--paper-n)}
.ft{padding:clamp(56px,7vw,80px) 0 0}
.ft__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px);padding-bottom:clamp(40px,5vw,60px)}
@media(max-width:819px){.ft__grid{grid-template-columns:1fr}}
.ft__brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.ft p{font-family:var(--sans);font-size:12px;letter-spacing:.14em;line-height:2.2;color:var(--dim-n)}
.ft h3{font-family:var(--sans);font-size:12px;letter-spacing:.34em;color:var(--gold);margin-bottom:16px}
.ft li{list-style:none;margin-bottom:10px}
.ft li a{font-family:var(--sans);font-size:13px;letter-spacing:.16em;color:var(--dim-n);transition:color var(--t)}
.ft li a:hover{color:var(--paper-n)}
.ft__bar{border-top:1px solid rgba(169,139,74,.25);padding:22px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--sans);font-size:11px;letter-spacing:.22em;color:var(--dim-n)}
/* ===== 可訪問性熱區（WCAG 2.5.8 AA ≥24px，頁頭目標 44px） ===== */
.ft__bar a{display:inline-block;padding:10px 0}
.crumb a{display:inline-block;padding:8px 6px}
.util__icon{display:inline-flex;align-items:center;padding:11px 10px}
.ft li{margin-bottom:4px}
.ft li a{display:inline-block;padding:7px 0}
/* ==/ZF3-ALIGN-CSS== */

/* ===== 內容頁組件（服務 / 傳承與工藝 / 關於 / 常見問題 / 寺院志 / 恭請垂詢） =====
   2026-09-30 新增。純靜態、零關鍵幀動畫（遵守全站鐵律）；全部沿用既有 :root 令牌。
   放在 ALIGN 受管區段之後，避免與 apply_zf3_align.py 重寫衝突。 */
/* —— 洽詢頁兩欄（左表單 / 右聯絡資訊） —— */
.contact{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,3.4vw,52px);align-items:start}
@media(max-width:919px){.contact{grid-template-columns:1fr}}
.contact__side{font-family:var(--sans);font-size:13px;letter-spacing:.1em;line-height:2.1;color:var(--ink-2)}
.contact__side h3{font-family:var(--sans);font-size:12px;letter-spacing:.3em;color:var(--gold);margin:26px 0 12px}
.contact__side h3:first-child{margin-top:0}
.contact__side ul{list-style:none}
.contact__side li{padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--hairline) 40%,transparent)}
.contact__side a{color:var(--cinnabar);border-bottom:1px solid color-mix(in srgb,var(--cinnabar) 35%,transparent);overflow-wrap:anywhere}
.inquiry__note,.inquiry__status{font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;line-height:1.95;color:var(--ink-3);margin-top:14px}
.inquiry__status[data-state="ok"]{color:#2F6B4F}
.inquiry__status[data-state="err"]{color:var(--cinnabar)}
/* —— 內容卡（服務項、六門、理念） —— */
.card{border:1px solid var(--hairline);background:var(--card);padding:clamp(22px,2.6vw,30px);display:flex;flex-direction:column;gap:10px}
.card__no{font-family:var(--sans);font-size:11px;letter-spacing:.34em;color:var(--gold)}
.card h3{font-size:19px;letter-spacing:.1em;font-weight:700}
.card p{font-family:var(--sans);font-size:13px;line-height:2.05;letter-spacing:.08em;color:var(--ink-2)}
/* —— 提示條（現階段服務狀態說明） —— */
.hintbar{border:1px solid var(--hairline);border-left:3px solid var(--gold);background:var(--card);padding:16px 20px;font-family:var(--sans);font-size:12.5px;letter-spacing:.1em;line-height:2;color:var(--ink-2);margin:0 0 28px}
.hintbar b{color:var(--ink)}
/* —— 常見問題手風琴（原生 details，零 JS、零動畫） —— */
.faq__h{font-size:19px;letter-spacing:.16em;margin:34px 0 12px;padding-left:14px;border-left:3px solid var(--gold);font-weight:700}
.faq{border-top:1px solid var(--hairline);margin-top:8px}
.faq details{border-bottom:1px solid color-mix(in srgb,var(--hairline) 45%,transparent)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:18px 2px;font-size:16px;letter-spacing:.1em;font-weight:600;transition:color var(--t)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"＋";color:var(--gold);font-family:var(--sans);font-size:15px;flex:none}
.faq details[open] summary::after{content:"－"}
.faq details[open] summary{color:var(--cinnabar)}
.faq summary:hover{color:var(--cinnabar)}
.faq__a{font-family:var(--sans);font-size:13.5px;line-height:2.2;letter-spacing:.08em;color:var(--ink-2);padding:0 2px 20px}
.faq__a p{margin-bottom:10px}
.faq__a ul{padding-left:20px;margin-bottom:10px}
/* —— 寺院志文章列表 —— */
.journal{display:grid;gap:clamp(20px,2.6vw,30px)}
.jrow{border:1px solid var(--hairline);background:var(--card);padding:clamp(22px,2.6vw,32px)}
.jrow__meta{font-family:var(--sans);font-size:11px;letter-spacing:.3em;color:var(--gold);margin-bottom:10px}
.jrow h3{font-size:clamp(20px,2.4vw,26px);letter-spacing:.1em;font-weight:700;margin-bottom:10px}
.jrow__sum{font-family:var(--sans);font-size:13px;line-height:2.1;letter-spacing:.08em;color:var(--ink-2)}
.jrow details{margin-top:14px}
.jrow summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:24px;padding:4px 0;font-family:var(--sans);font-size:12px;letter-spacing:.24em;color:var(--cinnabar)}
.jrow summary::-webkit-details-marker{display:none}
.jrow summary::after{content:"▾"}
.jrow details[open] summary::after{content:"▴"}
.jrow__body{margin-top:14px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--hairline) 45%,transparent)}
.jrow__body p{font-family:var(--sans);font-size:13.5px;line-height:2.2;letter-spacing:.08em;color:var(--ink-2);margin-bottom:12px}
/* —— 內容頁統計帶（關於頁） —— */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,32px);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:clamp(24px,3vw,36px) 0;margin:clamp(28px,4vw,44px) 0}
@media(max-width:719px){.stats{grid-template-columns:repeat(2,1fr)}}
.stats__it{text-align:center}
.stats__n{font-family:var(--sans);font-size:clamp(22px,2.6vw,30px);letter-spacing:.1em;color:var(--gold);font-weight:600}
.stats__l{font-family:var(--sans);font-size:11.5px;letter-spacing:.24em;color:var(--ink-3);margin-top:8px}
/* —— 內容頁頁尾行動區（回主轉化） —— */
.pageend{border-top:1px solid var(--hairline);text-align:center;padding:clamp(34px,4.4vw,56px) 0}
.pageend h2{font-size:clamp(22px,2.8vw,30px);letter-spacing:.14em;font-weight:700;margin-bottom:12px}
.pageend p{font-family:var(--sans);font-size:13px;letter-spacing:.12em;line-height:2.1;color:var(--ink-2);max-width:640px;margin:0 auto 24px}
.pageend__btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
/* —— 頁腳洽詢信箱（第一欄） —— */
.ft__mail{margin-top:14px}
.ft__mail a{border-bottom:1px solid rgba(169,139,74,.5);overflow-wrap:anywhere}
.ft__mail a:hover{color:var(--gold)}
/* —— 移動端主選單（<919px 主導覽隱藏，原設計無替代入口；補齊六個內容頁後必須提供） —— */
.navtog{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border:1px solid var(--hairline);background:none;color:var(--ink-2);font-size:17px;line-height:1;cursor:pointer;transition:border-color var(--t),color var(--t)}
.navtog:hover{border-color:var(--ink);color:var(--ink)}
@media(max-width:919px){.navtog{display:inline-flex}}
.vnav__list{list-style:none}
.vnav__list li{border-bottom:1px solid color-mix(in srgb,var(--hairline) 45%,transparent)}
.vnav__list li:first-child{border-top:1px solid color-mix(in srgb,var(--hairline) 45%,transparent)}
.vnav__list a{display:block;padding:15px 2px;font-family:var(--sans);font-size:15px;letter-spacing:.16em;color:var(--ink-2);transition:color var(--t);min-height:24px}
.vnav__list a:hover{color:var(--cinnabar)}
.vnav__list a[aria-current="page"]{color:var(--cinnabar)}
.vnav__list a[aria-current="page"]::before{content:"◆";font-size:8px;vertical-align:3px;margin-right:9px;color:var(--gold)}

/* ===== 頁頭防溢出（2026-09-30-04 · 主導覽 5 項 → 7 項後實測必須補）=====
   實測：th/ms 的 7 項導航 + 5 控件在 1280 容器內放不下，.tools 被推出視口
   （ms 在 1440 溢出 438px、th 260px；ja 84px），頁頭右側控件被裁切。
   對策（六語統一，不按語言開斷點）：
   ① .brand / .tools flex:none —— 不許被壓縮裁切；
   ② .nav 可收縮（min-width:0）+ 內部橫向捲動、隱藏捲軸 —— 頁面永不橫向溢出；
   ③ 主導覽放不下時由 JS 掛 html.nav-ovf，自動浮出主選單按鈕（全選單永遠可達）；
   ④ 收緊導航字距/字級與頁頭間距，降低需要捲動的機率。 */
.brand,.tools{flex:none}
.nav{flex:0 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;
     gap:clamp(14px,1.8vw,26px);scrollbar-width:none;-ms-overflow-style:none}
.nav::-webkit-scrollbar{display:none}
.nav a{font-size:12.5px;letter-spacing:.12em}
.navtog{display:none}
html.nav-ovf .navtog{display:inline-flex}
@media(max-width:919px){.navtog{display:inline-flex}}
/* 操作區間距全寬域收緊（原本僅 ≤1499 收緊會在 1500+ 反而更寬，形成斷崖） */
.tools{gap:12px}
.hd__acts{gap:14px}
/* 手機檔（≤479）頁頭語言無關收緊。
   原本這組規則只寫在 zh 構建器，ja 未繼承 → ja@375 頁頭溢出 4px。
   上移 base 層讓六語一致；en/ms 另有自己的 .brand__name 隱藏規則，兩者相容。 */
@media(max-width:479px){
  .tools{gap:8px}
  .hd__acts{gap:8px}
  .brand svg{height:36px}
  .cart__t{display:none}
  .cur__sel{display:none}
  .util__langbtn{font-size:11px;gap:3px}
  .hd .wrap,.hd>div{padding-left:12px;padding-right:12px;gap:12px}
}
/* 手機檔（≤479）頁頭只留 品牌 / ☰ / 搜尋 / 購物車：
   語言與帳戶改由 ☰ 彈層底部（.vnav__extra）提供，可達性不減、頁頭不再溢出。
   選擇器帶 .hd__acts 後裔 → 特異度 (0,2,0)，穩定勝過頁專有層的 .util__lang/.util__acct 宣告。
   實測依據：zh@320 溢出 41px、ja@375 溢出 19px、ja@320 溢出 59px，元兇皆為 .tools 過寬。 */
@media(max-width:479px){
  .hd__acts .util__lang,
  .hd__acts .util__acct{display:none}
}
/* ☰ 彈層底部：語言 / 帳戶（沿用頁頭控件樣式，改為整列可點，觸控高 ≥44） */
.vnav__extra{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;
             border-top:1px solid color-mix(in srgb,var(--hairline) 45%,transparent)}
.vnav__extra .util__lang,
.vnav__extra .util__acct{width:100%;justify-content:flex-start;min-height:44px;
                          font-size:14px;letter-spacing:.12em}
.vnav__extra .util__acct-t{display:inline}
.vnav__extra .util__caret{margin-left:auto}
/* ☰ 彈層內空間充裕：ms 的語言按鈕顯示全名（頁頭 ≤1499 才用 BM 縮寫是為了省寬） */
.vnav__extra .mslang-full{display:inline}
.vnav__extra .mslang-abbr{display:none}

/* ===== 小屏骨架防溢出（2026-09-30-04 · 六語全站 864 組合實測的三處真實溢出）=====
   ① account：.acct 的 `1fr` 軌道實為 minmax(auto,1fr)，其下限取子項 min-content；
      zh 的 <table class="tbl"> 五欄長單號把 min-content 撐到 352px，遠超容器（320px 下僅 265px）
      → 軌道改 minmax(0,1fr) + 子項 min-width:0，並把表格收進可橫向捲動的 .tblwrap。
      同頁 .panel dl 固定 110px + 1fr，`believer@example.com` 這類不可斷字串把 1fr 撐到 176px
      → 窄螢幕改單欄並允許斷行。
   ② search：.searchbar（input flex:1 + 按鈕 136px）與 .sortsel（固定寬 select）不換行
      → 窄螢幕換行、按鈕整列、select 可縮。
   ③ vbar：固定底欄 min-content 在 ms 320px 達 331px；Chrome 會把 fixed 元素的溢出一併
      計入 documentElement.scrollWidth → 收緊間距並允許語言名省略（底欄高度由 min-height:64px 鎖定不變）。 */
.acct>*{min-width:0}
.panel dl dd{overflow-wrap:anywhere}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tblwrap .tbl{min-width:540px}
@media(max-width:819px){
  .acct{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:639px){
  .panel dl{grid-template-columns:1fr;gap:4px 0}
  .panel dl dd{margin-bottom:10px}
  .searchbar{flex-wrap:wrap}
  .searchbar input{flex:1 1 100%}
  .searchbar .btn,.searchbar button{width:100%;justify-content:center}
  /* .sortsel 原為 inline-flex（寬度隨內容收縮），其內 select 的 min-content
     （最長選項，ms 達 338px）會把標籤撐破容器；改塊級 + 換行 + 允許 select 收縮。
     選擇器帶 .toolbar 前裔 → 特異度 (0,2,0)，穩定勝過後層 .sortsel{display:inline-flex}；
     min-width:0 不可省 —— .sortsel 是 .toolbar 的 flex 項，min-width:auto 令它永不收縮。 */
  .toolbar .sortsel{display:flex;flex-wrap:wrap;row-gap:8px;min-width:0}
  .toolbar .sortsel select{flex:1 1 100%;max-width:100%;min-width:0}
}
@media(max-width:479px){
  .vbar{gap:8px}
  /* 關鍵：語言文字的外層 <span> 是 flex 項且無 min-width:0，永不收縮，
     令 ms 底欄 min-content 達 339px（Chrome 會把 fixed 元素溢出計入 scrollWidth）*/
  .vbar__lang{min-width:0;flex:1 1 auto}
  .vbar__lang>span{min-width:0;flex:1 1 auto}
  .vbar__lang b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .vbar__voice{flex:none;padding:10px 12px;font-size:13px;letter-spacing:.08em;white-space:nowrap}
}
/* 页专有 CSS（自 _历史备份/_bak_align 提取，勿手改；改动请改后重跑本脚本） */
/* —— 通知条 —— */
.notice{background:var(--night);color:var(--dim-n);font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-align:center;padding:11px 16px}
/* —— 頁頭 —— */
.hd{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline)}
/* —— 按鈕 —— */
/* —— 區塊標頭 —— */
.shead{display:flex;align-items:baseline;gap:22px;margin-bottom:clamp(36px,5vw,60px)}
/* —— 月洞門 —— */
.gate-card{display:flex;flex-direction:column;gap:16px}
/* —— HERO —— */
.hero{min-height:100vh;background:radial-gradient(95% 75% at 50% 6%,#2C261D 0%,var(--night) 62%);color:var(--paper-n);display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(44px,5.5vh,80px) 20px 44px;position:relative}
.hero__brand{font-family:var(--sans);font-size:13px;letter-spacing:.6em;text-indent:.6em;color:var(--dim-n)}
.hero__gate{margin:26px auto 22px;width:min(336px,74vw);aspect-ratio:9/11;border:1px solid rgba(169,139,74,.7);border-radius:999px 999px 0 0;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(80% 62% at 50% 88%,rgba(169,139,74,.16),transparent 72%)}
.hero__gate::after{content:"";position:absolute;left:15px;right:15px;top:15px;bottom:-1px;border:1px solid rgba(169,139,74,.28);border-radius:999px 999px 0 0}
.hero__v{writing-mode:vertical-rl;font-size:clamp(54px,7.5vw,80px);font-weight:700;letter-spacing:.3em;line-height:1.15}
.hero__seal{position:absolute;right:30px;bottom:38px;width:40px;height:40px;background:var(--cinnabar);color:#F6EFE0;display:grid;place-items:center;font-size:20px;font-weight:700;border-radius:2px}
.hero h1{font-size:clamp(32px,4.4vw,52px);line-height:1.3;letter-spacing:.3em;text-indent:.3em;font-weight:700}
.hero__sub{margin-top:10px;font-family:var(--sans);font-size:13px;letter-spacing:.3em;color:var(--dim-n)}
.hero__cta{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.hero__cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);font-family:var(--sans);font-size:10px;letter-spacing:.4em;color:var(--dim-n)}
.hero__cue::before{content:"";display:block;width:1px;height:38px;margin:0 auto 10px;background:linear-gradient(var(--gold),transparent)}
/* —— 證言帶 —— */
.testify{border-bottom:1px solid var(--hairline)}
.testify__in{display:flex;justify-content:center;align-items:center;gap:clamp(18px,4vw,56px);flex-wrap:wrap;padding:clamp(26px,3.5vw,40px) 0}
.testify__it{font-size:16px;letter-spacing:.18em;font-weight:600}
.testify__it small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.26em;font-weight:400;color:var(--ink-3);margin-top:4px}
.dia{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:none}
/* —— 精選六境 —— */
.sec{padding:clamp(64px,9vw,110px) 0}
.grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,48px)}
@media(max-width:1023px){.grid6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:559px){.grid6{grid-template-columns:1fr}}
.more{margin-top:clamp(40px,5vw,56px);text-align:center}
/* —— 六門回廊 —— */
.corr{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.6vw,22px)}
@media(max-width:1023px){.corr{grid-template-columns:repeat(3,1fr)}}
@media(max-width:559px){.corr{grid-template-columns:repeat(2,1fr)}}
.corr a{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 10px 26px;border:1px solid var(--hairline);border-radius:999px 999px 4px 4px;transition:all var(--t);background:var(--card)}
.corr a:hover{border-color:var(--gold);box-shadow:0 16px 34px -22px rgba(38,34,26,.3)}
.corr__arch{width:64px;height:80px;border:1px solid var(--hairline);border-bottom:0;border-radius:999px 999px 0 0;background:radial-gradient(120% 90% at 50% 100%,#FFFDF7,var(--paper-2));display:grid;place-items:center;font-size:24px;font-weight:700;opacity:.4}
.corr__name{font-size:16px;font-weight:700;letter-spacing:.1em}
.corr__count{font-family:var(--sans);font-size:11px;letter-spacing:.3em;color:var(--ink-3)}
/* —— 心法（夜） —— */
.night{background:var(--night);color:var(--paper-n)}
.night .shead h2{color:var(--paper-n)}
.night .shead__line{background:rgba(169,139,74,.4)}
.night .shead__sub{color:var(--dim-n)}
.creed{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px)}
@media(max-width:819px){.creed{grid-template-columns:1fr}}
.creed__zi{font-size:clamp(64px,7vw,96px);font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(169,139,74,.8)}
.creed h3{font-size:22px;font-weight:700;letter-spacing:.16em;margin:22px 0 10px}
.creed p{font-family:var(--sans);font-size:13px;letter-spacing:.12em;line-height:2;color:var(--dim-n)}
/* —— 垂詢 CTA —— */
.cta{background:var(--paper-2);border-top:1px solid var(--hairline)}
.cta__in{text-align:center;padding:clamp(70px,9vw,110px) 0}
.cta h2{font-size:clamp(30px,4vw,46px);font-weight:700;letter-spacing:.2em}
.cta p{margin:16px auto 38px;max-width:560px;font-family:var(--sans);font-size:13px;letter-spacing:.14em;line-height:2.1;color:var(--ink-2)}
.cta__btns{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
/* —— 頁腳 —— */

.ft__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px);padding-bottom:clamp(40px,5vw,60px)}
@media(max-width:819px){.ft__grid{grid-template-columns:1fr}}
@media(max-width:639px){.util__acct-t{display:none}}
@media(max-width:479px){.brand__logo{height:44px}.util__lang{margin-right:-4px}}
@media(max-width:639px){.vbar::before{opacity:.2;background-size:460px auto}}
@media(max-width:639px){
  .vbar__lang small{display:none}
  .vbar__voice{padding:10px 16px}
  .vlang__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:819px){.ft__grid{grid-template-columns:1fr}}
/* ===== 品牌裝飾層：hero 功德金蓮（實拍摳圖版，無動畫） ===== */
/* ⚠️ display:block 必須明寫：figure 預設為 block，但內聯關鍵 CSS 對 .hero__lotus 有兜底宣告時，
   唯有此處顯式宣告 display 才能覆蓋，否則金蓮會被永久隱藏。 */
.hero__lotus{display:block;position:absolute;top:50%;width:min(330px,calc((100vw - 336px)/2 - 90px));aspect-ratio:576/1024;margin:0;pointer-events:none;opacity:.55;background:url("../lotus-gold.webp") center/contain no-repeat;-webkit-mask-image:linear-gradient(#000 76%,transparent 97%);mask-image:linear-gradient(#000 76%,transparent 97%)}
.hero__lotus--l{left:max(1.4vw,20px);transform:translateY(-50%)}
.hero__lotus--r{right:max(1.4vw,20px);transform:translateY(-50%) scaleX(-1)}
@media(max-width:1029px){.hero__lotus{opacity:.45}}
@media(max-width:767px){.hero__lotus{display:none}}
/* ==ZF3-ECOM-CSS== */
/* ===== 電商結構層 ===== */
.util__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--ink-2);transition:color .18s ease}
.util__icon:hover{color:var(--cinnabar)}
.util__glass{width:19px;height:19px}
.cart__icon{width:18px;height:18px;flex:none}
@media(max-width:639px){.cart__t{display:none}}
@media(max-width:479px){.util__icon{width:30px}.cart__icon{width:17px}}

/* —— 規格 / 庫存 / 數量 —— */
.spec{margin-bottom:24px}
.spec__row+.spec__row{margin-top:15px;padding-top:15px;border-top:1px solid var(--hairline)}
.spec__l,.ship__l{font-family:var(--sans);font-size:12px;letter-spacing:.26em;color:var(--gold);margin-bottom:12px}
.spec__opts{display:flex;gap:10px;flex-wrap:wrap}
.spec__opt{appearance:none;-webkit-appearance:none;font:inherit;border:1px solid var(--hairline);background:var(--card);padding:11px 20px;font-family:var(--sans);font-size:13px;letter-spacing:.14em;color:var(--ink-2);cursor:pointer;transition:all var(--t)}
.spec__opt:hover{border-color:var(--ink-2);color:var(--ink)}
.spec__opt.is-on{border-color:var(--cinnabar);color:var(--cinnabar);box-shadow:inset 0 0 0 1px var(--cinnabar)}
.spec__opt.is-off{border-style:dashed;color:var(--ink-3)}
.spec__note{margin-top:14px;font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;line-height:1.9;color:var(--ink-3)}

/* —— 圖集六視 —— */
.stage .gate__char{transition:transform .42s ease,opacity .42s ease}
.gate--v2 .gate__char{transform:translateX(-8%) scale(.93)}
.gate--v3 .gate__char{transform:translateY(7%) scale(1.16)}
.gate--v4 .gate__char{transform:scale(1.52)}
.gate--v5 .gate__char{opacity:.09}
.gate--v6 .gate__char{transform:translateY(-6%) scale(.84)}
.gate--v5::after{content:"";position:absolute;inset:15% 17%;pointer-events:none;background-image:repeating-linear-gradient(45deg,rgba(168,137,74,.45) 0 1px,transparent 1px 17px),repeating-linear-gradient(-45deg,rgba(168,137,74,.45) 0 1px,transparent 1px 17px)}
.gate--v6 .gate__ped{left:13%;right:13%;bottom:23%}
.stage__tag,.stage__no{position:absolute;bottom:13px;font-family:var(--sans);font-size:11px;letter-spacing:.16em;background:var(--card);border:1px solid var(--hairline);padding:5px 11px}
.stage__tag{left:15px;color:var(--cinnabar)}
.stage__no{right:15px;color:var(--ink-3)}
.thumbs{width:100%}
@media(max-width:639px){.thumbs{gap:8px}.thumb{font-size:19px}.stage__tag,.stage__no{font-size:10px;padding:4px 8px}}
@media(max-width:479px){.thumb{font-size:16px}}
.stock{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--ink-2);margin-bottom:24px}
.stock__dot{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:none}
.qty{display:inline-flex;align-items:stretch;border:1px solid var(--hairline);background:var(--card);height:52px;flex:none}
.qty button{width:46px;border:0;background:none;color:var(--ink-2);font-family:var(--sans);font-size:16px;cursor:pointer;transition:color var(--t)}
.qty button:hover{color:var(--cinnabar)}
.qty input{width:58px;border:0;background:none;text-align:center;font-family:var(--sans);font-size:15px;letter-spacing:.1em;color:var(--ink);-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.buyrow{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:30px}
.buyrow .btn{flex:1 1 auto;min-width:150px}

/* —— 配送 / 支付 —— */
.ship{list-style:none;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:18px 0;margin-bottom:22px}
.ship li{display:flex;gap:14px;font-family:var(--sans);font-size:12.5px;letter-spacing:.12em;line-height:2;color:var(--ink-2)}
.ship li b{flex:none;width:64px;color:var(--ink);font-weight:600;letter-spacing:.2em}
.pay{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--sans);font-size:11.5px;letter-spacing:.18em;color:var(--ink-3);margin-bottom:30px}
.pay__tag{border:1px solid var(--hairline);background:var(--card);padding:7px 13px;color:var(--ink-2)}
.pay__note{letter-spacing:.14em}

/* —— 目錄工具條 / 卡片加購 —— */
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:16px 0 26px;border-bottom:1px solid var(--hairline);margin-bottom:34px}
.toolbar__count{font-family:var(--sans);font-size:12px;letter-spacing:.22em;color:var(--ink-3)}
.sortsel{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--gold)}
.sortsel select{border:1px solid var(--hairline);background:var(--card);color:var(--ink-2);font-family:var(--sans);font-size:12.5px;letter-spacing:.12em;padding:10px 14px;cursor:pointer}
.gc__buy{align-self:flex-start;margin-top:2px;border:1px solid var(--cinnabar);color:var(--cinnabar);background:none;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.2em;padding:9px 20px;cursor:pointer;transition:all var(--t)}
.gc__buy:hover,.gc__buy.is-added{background:var(--cinnabar);color:#F6EFE0}
.loadmore{padding:46px 0 8px;text-align:center}
.loadmore__note{font-family:var(--sans);font-size:12px;letter-spacing:.24em;color:var(--ink-3)}

/* —— 器單（購物車） —— */
.cartgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(26px,4vw,58px);align-items:start}
@media(max-width:899px){.cartgrid{grid-template-columns:1fr}}
.line{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:22px;padding:26px 0;border-bottom:1px solid var(--hairline);align-items:start}
@media(max-width:639px){.line{grid-template-columns:76px minmax(0,1fr);gap:16px}.line__side{grid-column:2}}
.line__thumb{width:104px;height:104px;border:1px solid var(--hairline);background:var(--card);display:grid;place-items:center;font-family:var(--serif);font-size:34px;color:var(--gold)}
@media(max-width:639px){.line__thumb{width:76px;height:76px;font-size:26px}}
.line__top{display:flex;gap:16px;font-family:var(--sans);font-size:11px;letter-spacing:.26em;color:var(--ink-3);margin-bottom:8px}
.line__name{font-size:20px;font-weight:700;letter-spacing:.06em;margin-bottom:8px}
.line__meta,.line__spec{font-family:var(--sans);font-size:12px;letter-spacing:.14em;color:var(--ink-2);line-height:1.9}
.line__spec{color:var(--ink-3)}
.line__side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
@media(max-width:639px){.line__side{align-items:flex-start}}
.line__price{font-family:var(--sans);font-size:13px;letter-spacing:.22em;color:var(--gold);font-weight:600}
.line__del{border:0;background:none;font-family:var(--sans);font-size:11.5px;letter-spacing:.2em;color:var(--ink-3);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.line__del:hover{color:var(--cinnabar)}
.line__foot{padding-top:24px;font-family:var(--sans);font-size:12.5px;letter-spacing:.16em}
.line__foot a{color:var(--ink-2);text-decoration:underline;text-underline-offset:5px}
.sumcard{border:1px solid var(--hairline);background:var(--card);padding:28px 26px;position:sticky;top:24px}
.sumcard h3{font-family:var(--sans);font-size:12px;letter-spacing:.3em;color:var(--gold);margin-bottom:22px}
.sumcard__row{display:flex;justify-content:space-between;gap:14px;font-family:var(--sans);font-size:13px;letter-spacing:.14em;color:var(--ink-2);padding:11px 0}
.sumcard__row--total{border-top:1px solid var(--hairline);margin-top:10px;padding-top:20px;color:var(--ink);font-size:15px;font-weight:600;letter-spacing:.18em}
.sumcard__note{font-family:var(--sans);font-size:11.5px;letter-spacing:.12em;line-height:2;color:var(--ink-3);margin:16px 0 22px}
.sumcard .btn{width:100%}
.sumcard .pay{margin:20px 0 0;justify-content:center}

/* —— 奉達（結帳） —— */
.steps{display:flex;list-style:none;margin:0 0 clamp(34px,5vw,56px);border-bottom:1px solid var(--hairline)}
.steps li{flex:1;position:relative;padding:0 0 22px;font-family:var(--sans);font-size:12.5px;letter-spacing:.2em;color:var(--ink-3)}
.steps li span{display:inline-flex;align-items:center;gap:10px}
.steps li span::before{content:"";width:13px;height:13px;border:1px solid var(--gold);transform:rotate(45deg);flex:none}
.steps li.is-on{color:var(--ink);font-weight:600}
.steps li.is-on span::before{background:var(--cinnabar);border-color:var(--cinnabar)}
.steps li.is-done{color:var(--ink-2)}
.steps li.is-done span::before{background:var(--gold);border-color:var(--gold)}
@media(max-width:639px){.steps li{font-size:11px;letter-spacing:.1em}}
.fieldset{border:0;padding:0;margin:0 0 34px}
.fieldset legend{font-family:var(--sans);font-size:12px;letter-spacing:.3em;color:var(--gold);margin-bottom:20px;padding:0}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:639px){.fields{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:9px}
.field--full{grid-column:1/-1}
.field label{font-family:var(--sans);font-size:11.5px;letter-spacing:.2em;color:var(--ink-2)}
.field input,.field select,.field textarea{border:1px solid var(--hairline);background:var(--card);color:var(--ink);font-family:var(--sans);font-size:14px;letter-spacing:.06em;padding:0 16px;height:52px}
.field textarea{height:104px;padding:14px 16px;line-height:1.8;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cinnabar)}
.radio{border:1px solid var(--hairline);background:var(--card);padding:16px 18px;display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.radio.is-on{border-color:var(--cinnabar)}
.radio__dot{width:13px;height:13px;border:1px solid var(--gold);transform:rotate(45deg);flex:none;margin-top:4px}
.radio.is-on .radio__dot{background:var(--cinnabar);border-color:var(--cinnabar)}
.radio b{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.16em;color:var(--ink);font-weight:600;margin-bottom:6px}
.radio small{font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;line-height:1.9;color:var(--ink-3)}

/* —— 奉達已錄（訂單確認） —— */
.receipt{border:1px solid var(--hairline);background:var(--card);padding:clamp(28px,4vw,46px);text-align:center}
.seal{display:grid;place-items:center;width:fit-content;min-width:96px;max-width:100%;height:96px;margin:0 auto 22px;padding:0 10px;overflow:hidden;background:var(--cinnabar);color:#F6EFE0;font-family:var(--serif);font-size:clamp(16px,5.5vw,34px);letter-spacing:.06em;line-height:1.2;white-space:normal}
/* 2026-09-30-04：原 width:96px 固定方章在非中文語系必溢出——
   實測 ms「Hantar Permohonan」/ en「Checkout」於 34px 遠超 96px，文字溢出章體把
   documentElement.scrollWidth 撐到 339px（320px 視口）。
   改為 fit-content + min-width:96px + max-width:100%：
   繁中「奉達」2 字仍得 96px 方章（視覺不變），拉丁/泰文長詞則自然成橫向長章並可換行。 */
.receipt h1{font-size:clamp(26px,3.4vw,38px);font-weight:700;letter-spacing:.1em;margin-bottom:14px}
.receipt__no{font-family:var(--sans);font-size:12.5px;letter-spacing:.24em;color:var(--ink-2);margin-bottom:6px}
.receipt__note{font-family:var(--sans);font-size:12px;letter-spacing:.14em;line-height:2;color:var(--ink-3)}
.receipt .steps{margin:34px 0 0;border-bottom:0;text-align:left}
.todo{list-style:none;margin-top:32px}
.todo li{display:flex;gap:14px;font-family:var(--sans);font-size:12.5px;letter-spacing:.12em;line-height:2;color:var(--ink-2);padding:13px 0;border-bottom:1px solid var(--hairline)}
.todo li b{width:26px;flex:none;color:var(--gold);font-weight:600}
.rowbtns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:34px}

/* —— 帳戶 —— */
.acct{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(24px,3.4vw,50px);align-items:start}
@media(max-width:819px){.acct{grid-template-columns:1fr}}
.acct__side{border:1px solid var(--hairline);background:var(--card);padding:12px 0}
.acct__side a{display:block;padding:14px 24px;font-family:var(--sans);font-size:12.5px;letter-spacing:.18em;color:var(--ink-2);border-left:2px solid transparent;transition:all var(--t)}
.acct__side a:hover{color:var(--cinnabar)}
.acct__side a.is-on{border-left-color:var(--cinnabar);color:var(--ink);font-weight:600;background:var(--paper-2)}
.panel{border:1px solid var(--hairline);background:var(--card);padding:clamp(22px,3vw,34px);margin-bottom:24px}
.panel h2{font-size:20px;font-weight:700;letter-spacing:.1em;margin-bottom:20px}
.panel dl{display:grid;grid-template-columns:110px 1fr;gap:12px 20px;font-family:var(--sans);font-size:13px;letter-spacing:.12em}
.panel dt{color:var(--ink-3)}
.panel dd{color:var(--ink)}
.tbl{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:12.5px;letter-spacing:.12em}
.tbl th{text-align:left;font-weight:600;color:var(--gold);letter-spacing:.24em;font-size:11.5px;padding:0 14px 14px 0;border-bottom:1px solid var(--hairline)}
.tbl td{padding:16px 14px 16px 0;border-bottom:1px solid var(--hairline);color:var(--ink-2)}
.tbl td b{color:var(--ink)}
.state{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.16em;color:var(--ink-2)}
.state::before{content:"";width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}

/* —— 登入 / 註冊 —— */
.auth{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,58px);align-items:start}
@media(max-width:819px){.auth{grid-template-columns:1fr}}
.auth__card{border:1px solid var(--hairline);background:var(--card);padding:clamp(26px,3.4vw,40px)}
.auth__card h2{font-size:22px;font-weight:700;letter-spacing:.1em;margin-bottom:8px}
.auth__sub{font-family:var(--sans);font-size:12px;letter-spacing:.14em;line-height:1.9;color:var(--ink-3);margin-bottom:26px}
.oauth{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--hairline);background:none;height:52px;width:100%;font-family:var(--sans);font-size:12.5px;letter-spacing:.16em;color:var(--ink-2);cursor:pointer;margin-bottom:22px}
.oauth:hover{border-color:var(--gold)}
.divider{display:flex;align-items:center;gap:14px;font-family:var(--sans);font-size:11px;letter-spacing:.24em;color:var(--ink-3);margin-bottom:22px}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--hairline)}
.auth__foot{font-family:var(--sans);font-size:11.5px;letter-spacing:.12em;color:var(--ink-3);margin-top:18px;line-height:1.9}
.auth__foot a{color:var(--ink-2);text-decoration:underline;text-underline-offset:4px}
.checkline{display:flex;align-items:flex-start;gap:12px;font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;line-height:1.9;color:var(--ink-2);margin-bottom:22px}
.checkline .radio__dot{margin-top:3px}

/* —— 搜尋 —— */
.searchbar{display:flex;gap:14px;align-items:stretch;margin-bottom:22px}
.searchbar input{flex:1;border:1px solid var(--hairline);background:var(--card);color:var(--ink);font-family:var(--sans);font-size:14px;letter-spacing:.06em;padding:0 18px;height:54px}
.searchbar input:focus{outline:none;border-color:var(--cinnabar)}
.hotrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:clamp(30px,4vw,48px)}
.hotrow span{font-family:var(--sans);font-size:11.5px;letter-spacing:.24em;color:var(--ink-3)}
.hotrow a{border:1px solid var(--hairline);background:var(--card);padding:9px 16px;font-family:var(--sans);font-size:12px;letter-spacing:.14em;color:var(--ink-2)}
.hotrow a:hover{border-color:var(--cinnabar);color:var(--cinnabar)}
.empty{border:1px dashed var(--hairline);padding:clamp(34px,5vw,64px);text-align:center;display:none}
.empty.is-show{display:block}
.empty p{font-family:var(--sans);font-size:12.5px;letter-spacing:.18em;color:var(--ink-3);line-height:2.2}
/* 全站檢索：頁面級結果（僅搜尋頁存在該元素） */
.util__lang{text-decoration:none;cursor:pointer}
.util__langs{display:inline-flex;align-items:center;gap:6px}
.util__cur{opacity:.55;cursor:default}
.util__sep{opacity:.35}
/* 語言單點按鈕（點擊開啟 vlang 彈層） */
.util__langbtn{display:inline-flex;align-items:center;gap:4px;background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:12px;letter-spacing:.12em;color:var(--ink-2);padding:6px 2px}
.util__langbtn .util__caret{font-size:9px;opacity:.6}
/* 三語組比單鏈寬 ~60px：頁頭分段收緊（三語版共用，base 層修） */
@media(max-width:1319px){.tools{gap:12px}.nav{gap:12px}.util__acct-t{display:none}}
@media(max-width:1319px){.util__langs{gap:4px;font-size:12px}}
@media(max-width:1099px){.util__langs{font-size:11px}.tools{gap:9px}.hd .wrap,.hd>div{padding-left:14px;padding-right:14px;gap:14px}}
@media(max-width:479px){.brand__name{font-size:13px;letter-spacing:.04em}.tools{gap:10px}.util__langs{font-size:11px}}
@media(max-width:479px){.hd .wrap,.hd>div{padding-left:12px;padding-right:12px;gap:12px}.tools{gap:8px}.brand svg{height:36px}.util__cur{display:none}.util__sep{display:none}.util__langs{gap:3px}.cart__t{display:none}.util__langbtn{font-size:11px;gap:3px}}
.pgres{margin-top:26px;padding-top:24px;border-top:1px solid var(--hairline)}
.pgres[hidden]{display:none}
.pgres h3{font-family:var(--serif);font-size:17px;letter-spacing:.3em;color:var(--ink-2);margin:0 0 14px}
.pgres ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.pgres a{font-family:var(--sans);font-size:13px;letter-spacing:.14em;color:var(--gold);text-decoration:none;border-bottom:1px solid transparent}
.pgres a:hover,.pgres a:focus-visible{border-bottom-color:var(--gold)}

/* —— 全站補件（審計 2026-09-29）：視覺隱藏 / 幣種 / 頁腳通訊與法務 / 結賬FAQ / 法務頁 —— */
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cur__sel{display:inline-flex;align-items:center}
.cur__sel select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--ink-2);font-family:var(--sans);font-size:12px;letter-spacing:.14em;padding:6px 2px;cursor:pointer}
.cur__sel select:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}
@media(max-width:1029px){.cur__sel{display:none}}
.ft__news{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid rgba(169,139,74,.25);padding:24px 0}
.ft__news b{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.3em;color:var(--paper-n)}
.ft__news small{display:block;margin-top:6px;font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;color:var(--dim-n);line-height:1.8}
.ft__form{display:flex;gap:10px;flex-wrap:wrap}
.ft__form input{width:min(260px,60vw);height:44px;border:1px solid rgba(169,139,74,.4);background:rgba(239,232,215,.06);color:var(--paper-n);font-family:var(--sans);font-size:13px;letter-spacing:.08em;padding:0 14px}
.ft__form input::placeholder{color:var(--dim-n)}
.ft__form input:focus{outline:none;border-color:var(--gold)}
.ft__go{height:44px;padding:0 22px;border:1px solid var(--gold);background:transparent;color:var(--paper-n);font-family:var(--sans);font-size:12px;letter-spacing:.28em;text-indent:.14em;cursor:pointer}
.ft__go:hover{background:rgba(168,137,74,.18)}
.ft__legal{display:inline-flex;gap:14px;flex-wrap:wrap}
.ft__legal a{color:var(--dim-n)}
.ft__legal a:hover{color:var(--paper-n)}
details.faq{border:1px solid var(--hairline);background:var(--card);margin-bottom:12px}
details.faq summary{cursor:pointer;padding:18px 22px;font-family:var(--sans);font-size:13.5px;letter-spacing:.14em;color:var(--ink);list-style:none;position:relative;padding-right:44px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--cinnabar);font-size:16px}
details.faq[open] summary::after{content:"−"}
details.faq p{padding:0 22px 20px;font-family:var(--sans);font-size:12.5px;letter-spacing:.1em;line-height:2.1;color:var(--ink-2);margin:0}
.legal{max-width:820px;margin:0 auto}
.legal h1{font-size:clamp(28px,4vw,40px);letter-spacing:.2em;margin-bottom:8px}
.legal__draft{font-family:var(--sans);font-size:11.5px;letter-spacing:.14em;color:var(--cinnabar);border:1px dashed var(--cinnabar);padding:10px 16px;margin:18px 0 30px;line-height:1.9}
.legal h2{font-size:19px;letter-spacing:.16em;margin:34px 0 12px;padding-left:14px;border-left:3px solid var(--gold)}
.legal p,.legal li{font-family:var(--sans);font-size:13.5px;line-height:2.2;letter-spacing:.08em;color:var(--ink-2);margin:0 0 12px}
.legal ul{padding-left:20px;margin:0 0 14px}
.legal b{color:var(--ink)}
/* ==/ZF3-ECOM-CSS== */
