/* ═══════════════════════════════════════════════════════════════════════════
   極簡版型（tpl-minimal）· 專業版（Kelly 2026-10-22 拍板做成第三種正式版型）
   ═══════════════════════════════════════════════════════════════════════════
   白底、墨黑字、一個點綴色（赭紅，只用在小標前的短線、「看內容」與購物車數字），
   1px 細線分段、零圓角、全黑體（標題 300）。照片滿版當主角，字退到旁邊。

   · 來源：design/site-styles/ 的提案稿（base.css 骨架＋minimal.css），收進來時選擇器收窄成 .tpl-minimal。
   · 跟 a2.css／b2.css 一樣每條規則都掛在 .tpl-minimal 底下；三份同時載，body class 決定誰生效。
   · site.css 照載：沒掛版型的規則（.catalog-tag 底、購物資訊彈窗、選單 keyframes、.list-nav 的
     .header-cart／.header-member 尺寸、.catalog-veil）直接沿用；掛在 :is(.tpl-a2,.tpl-b2) 的不會套到這裡，
     需要的這份自己寫（版型間不互相牽動）。
   · 買頁（/p/{編號}、/me、/cart…）所有版型共用 buy.css；頂列與頁尾店名跟首頁同一組，在 site.css「店名與頂列」。
   · DOM 契約照 docs/dom-structure-for-css.md；logo 規則照 §2.1 原文。
   · 照片比例照資料層保證：hero 4:5（桌機 4:3）、關於／照片 3:2、商品 5:4（桌機 3:2）。
   · 可點元素至少 44×44；dots 用 44 高的透明熱區、畫出來的線在中間。
   ═══════════════════════════════════════════════════════════════════════════ */

.tpl-minimal{
  /* 顏色：近黑白＋赭紅一色。對比：ink 18.4、text 11.4、muted 5.3、accent 5.2（白底） */
  --ss-page:#f3f3f1;
  --ss-bg:#ffffff;
  --ss-surface:#ffffff;
  --ss-soft:#f6f6f4;
  --ss-ink:#141414;
  --ss-text:#3a3a3a;
  --ss-muted:#6b6b6b;
  --ss-line:#e6e6e3;
  --ss-accent:#b0502c;
  --ss-photo-bg:#f1f1ef;
  --ss-scrim:rgba(20,20,20,.45);

  /* 字體：全黑體；英文眼眉 Inter */
  --ss-font-body:"Noto Sans TC","PingFang TC",-apple-system,sans-serif;
  --ss-font-head:"Noto Sans TC","PingFang TC",sans-serif;
  --ss-font-card:"Noto Sans TC","PingFang TC",sans-serif;
  --ss-font-latin:"Inter";
  --ss-head-weight:300;
  --ss-leading:1.8;
  --ss-hero-size:34px;
  --ss-title-size:24px;
  --ss-eyebrow-font:500 11px/1.6 "Inter","Noto Sans TC",sans-serif;
  --ss-eyebrow-track:.24em;
  --ss-eyebrow-color:var(--ss-muted);
  --ss-faq-font:400 15px/1.7 "Noto Sans TC",sans-serif;

  /* 幾何：零圓角、寬留白 */
  --ss-radius-sm:0;
  --ss-radius-md:0;
  --ss-radius-lg:2px;
  --ss-radius-pill:0;
  --ss-gutter:24px;
  --ss-sec-y:72px;
  --ss-gap:28px;
  --ss-scroller-gap:8px;
  --ss-scroller-pad:0;
  --ss-links-gap:0;
  --ss-cols-desktop:2;

  /* 元件 */
  /* 頂列：高度、底色、底線、店名字型在 site.css「店名與頂列」（全站跟首頁同一組，Kelly 2026-10-23） */
  --ss-header-h:var(--hdr-h);
  --ss-header-bg:var(--hdr-bg);
  --ss-header-line:var(--hdr-line);
  --ss-sheet-bg:#ffffff;
  --ss-news-bg:#ffffff;
  --ss-news-ink:var(--ss-ink);
  --ss-news-line:1px solid var(--ss-line);
  --ss-hero-pad:0;
  --ss-hero-radius:0;
  --ss-strip-row:2;
  --ss-text-row:3;
  --ss-strip-justify:space-between;
  --ss-dot-hit:44px;
  --ss-dot-w:24px;
  --ss-dot-on-w:36px;
  --ss-dot-h:1.5px;
  --ss-dot-radius:0;
  --ss-dot:#cfcfcb;
  --ss-dot-on:var(--ss-ink);
  --ss-nav-bg:rgba(255,255,255,.9);
  --ss-nav-ink:var(--ss-ink);
  --ss-footer-bg:#ffffff;

  /* 商品總覽 /p：手機兩欄、桌機兩欄（跟首頁同欄數，照片夠大）；篩選與按鈕是細線方框 */
  --ss-list-pad:28px var(--ss-gutter) 56px;
  --ss-list-gap:20px;
  --ss-list-title-size:26px;
  --ss-list-eyebrow-font:400 12px/1.6 "Noto Sans TC",sans-serif;
  --ss-list-row-gap:36px;
  --ss-list-col-gap:16px;
  --ss-list-cols:2;
  --ss-chip-bg:#ffffff;
  --ss-chip-line:1px solid var(--ss-line);
  --ss-chip-on-bg:var(--ss-ink);
  --ss-chip-on-ink:#ffffff;
  --ss-veil:rgba(255,255,255,.55);
  --ss-badge:var(--ss-accent);
}

.tpl-minimal{
  margin:0;width:100%;max-width:780px;margin-inline:auto;min-height:100dvh;
  background:var(--ss-bg);color:var(--ss-ink);
  font-family:var(--ss-font-body);font-size:15px;line-height:var(--ss-leading);
  -webkit-font-smoothing:antialiased;
}
html:has(body.tpl-minimal){background:var(--ss-page)}
.tpl-minimal *,.tpl-minimal *::before,.tpl-minimal *::after{box-sizing:border-box}
.tpl-minimal :is(h1,h2,h3){margin:0;font-family:var(--ss-font-head);font-weight:var(--ss-head-weight);line-height:1.4}
.tpl-minimal p{margin:0}
.tpl-minimal a{color:inherit;text-decoration:none}
.tpl-minimal button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.tpl-minimal svg{width:20px;height:20px;flex-shrink:0}
.tpl-minimal img{display:block;max-width:100%;object-fit:cover;background:var(--ss-photo-bg)}
.tpl-minimal [hidden],.tpl-minimal .off{display:none!important}
.tpl-minimal :focus-visible{outline:2px solid var(--ss-ink);outline-offset:3px}
.tpl-minimal :is(a,button,summary,label){-webkit-tap-highlight-color:transparent}

/* ── 眼眉字（英文小標）＋區塊標題 ─────────────────────────────────────── */
.tpl-minimal .eyebrow{font:var(--ss-eyebrow-font);letter-spacing:var(--ss-eyebrow-track);text-transform:uppercase;color:var(--ss-eyebrow-color)}
.tpl-minimal .rule{display:none}
.tpl-minimal .sec-title{font-size:var(--ss-title-size);letter-spacing:.02em;text-wrap:balance}
.tpl-minimal .hint{font-size:12px;color:var(--ss-muted)}

/* ── 頁首（§2.1 logo 規則原文） ─────────────────────────────────────────── */
.tpl-minimal .site-header{position:sticky;top:0;z-index:45;display:flex;align-items:center;gap:12px;min-height:var(--ss-header-h);padding:2px var(--ss-gutter);background:var(--ss-header-bg);border-bottom:var(--ss-header-line)}
.tpl-minimal .site-header .brand-logo{max-height:32px;max-width:160px;width:auto;height:auto;object-fit:contain;flex:0 0 auto;background:none}
.tpl-minimal .site-header .brand{flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:44px}
.tpl-minimal .site-header:has(.brand.off) .brand-logo{max-width:100%;min-width:0;flex:0 1 auto}
.tpl-minimal .brand-home{display:inline-flex;align-items:center;min-height:44px;flex:0 1 auto;min-width:0}
.tpl-minimal .menu-open{flex:0 0 auto;margin-left:auto;display:grid;place-items:center;width:48px;height:48px;margin-right:-12px;border-radius:var(--ss-radius-pill);transition:transform .15s ease}
.tpl-minimal :is(.menu-open,.menu-close):active{transform:scale(.88)}
.tpl-minimal .header-member + .menu-open{margin-left:0}
.tpl-minimal :is(.menu-open,.menu-close) .ln{transform-box:fill-box;transform-origin:center;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.tpl-minimal .menu-open.on .ln1{transform:translateY(5px)}
.tpl-minimal .menu-open.on .ln3{transform:translateY(-5px)}

/* ── 選單抽屜（動態沿用 site.css 的 keyframes） ─────────────────────────── */
.tpl-minimal .menu{position:fixed;inset:0;z-index:50}
.tpl-minimal .menu-scrim{position:absolute;inset:0;background:var(--ss-scrim);animation:site-menu-fade .3s ease-out}
.tpl-minimal .menu-sheet{position:relative;display:flex;flex-direction:column;width:75%;max-width:360px;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px calc(24px + env(safe-area-inset-bottom,0px));background:var(--ss-sheet-bg);animation:site-menu-enter .3s cubic-bezier(.4,0,.2,1)}
.tpl-minimal .menu.closing .menu-sheet{animation:site-menu-leave .24s cubic-bezier(.4,0,1,1) forwards}
.tpl-minimal .menu.closing .menu-scrim{animation:site-menu-fade .24s ease-in reverse forwards}
.tpl-minimal .menu-close .ln1{animation:site-menu-x1 .42s cubic-bezier(.4,0,.2,1) both}
.tpl-minimal .menu-close .ln3{animation:site-menu-x3 .42s cubic-bezier(.4,0,.2,1) both}
.tpl-minimal .menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.tpl-minimal .menu-head .brand{min-width:0;overflow-wrap:anywhere}
.tpl-minimal .menu-close{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;margin-right:-12px}
.tpl-minimal .menu-links{flex-shrink:0;display:flex;flex-direction:column}
.tpl-minimal .menu-item{display:flex;align-items:center;gap:16px}
.tpl-minimal .menu-footer{margin-top:auto;padding-top:24px;flex-shrink:0}
.tpl-minimal .menu-footer .member-entry{justify-content:center;min-height:50px;padding:12px 20px}
@media(prefers-reduced-motion:reduce){.tpl-minimal :is(.menu-sheet,.menu-scrim,.menu-close .ln){animation:none!important}.tpl-minimal .menu-close .ln1{transform:rotate(45deg)}.tpl-minimal .menu-close .ln3{transform:rotate(-45deg)}}

/* ── 最新消息跑馬燈與彈窗 ───────────────────────────────────────────────── */
.tpl-minimal .news-bar{box-sizing:border-box;width:100%;height:44px;padding:0 var(--ss-gutter);display:flex;align-items:center;gap:10px;border:0;border-bottom:var(--ss-news-line);background:var(--ss-news-bg);color:var(--ss-news-ink);text-align:left;cursor:pointer}
.tpl-minimal .news-bar>svg{width:17px;height:17px}
.tpl-minimal .news-bar>svg.news-arrow{width:15px;height:15px;opacity:.5}
.tpl-minimal .news-window{flex:1;min-width:0;height:44px;overflow:hidden}
.tpl-minimal .news-track{display:block;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.tpl-minimal .news-line{display:block;font-size:13.5px;line-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpl-minimal .news-dialog{position:fixed;inset:0;z-index:100;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:104px 24px 24px;border:0;background:transparent;overflow-y:auto;color:var(--ss-ink)}
.tpl-minimal .news-dialog[open]{display:flex;align-items:flex-start;justify-content:center}
.tpl-minimal .news-dialog::backdrop{background:var(--ss-scrim)}
.tpl-minimal .news-card{position:relative;width:100%;max-width:382px;max-height:78vh;overflow-y:auto;background:var(--ss-surface);border-radius:var(--ss-radius-lg);padding:28px 24px 24px;box-shadow:0 16px 48px rgba(0,0,0,.16)}
.tpl-minimal .news-card:focus{outline:none}
.tpl-minimal .news-close{position:absolute;top:8px;right:8px;width:44px;height:44px;font:400 18px/44px sans-serif}
.tpl-minimal .news-article{padding-right:32px;overflow-wrap:anywhere}
.tpl-minimal .news-article time{display:block;font-size:12px;letter-spacing:.08em;color:var(--ss-muted)}
.tpl-minimal .news-article h2{margin:12px 0;font-size:19px;line-height:1.5}
.tpl-minimal .news-body{line-height:1.85}
.tpl-minimal .news-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--ss-line);margin-top:24px;padding-top:16px}
.tpl-minimal .news-nav button{min-height:44px}
.tpl-minimal .news-nav span{font-size:13px;color:var(--ss-muted)}
@media(prefers-reduced-motion:reduce){.tpl-minimal .news-track{transition:none}}

/* ── Hero：照片 → 點點／註腳 → 標題。.hero-media 拆開（display:contents），
      .hero 用 grid 排三列；左右鈕跟照片疊在同一格，所以不需要另外的定位框。 ── */
.tpl-minimal .hero{display:grid;grid-template-columns:minmax(0,1fr);padding:var(--ss-hero-pad)}
.tpl-minimal .hero-media{display:contents}
.tpl-minimal .hero-track{grid-area:1/1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--ss-hero-radius)}
.tpl-minimal .hero-track::-webkit-scrollbar{display:none}
.tpl-minimal .hero-img{flex:0 0 100%;width:100%;min-width:0;aspect-ratio:4/5;scroll-snap-align:start;scroll-snap-stop:always;user-select:none;-webkit-user-drag:none}
.tpl-minimal .hero-empty{width:100%;aspect-ratio:4/5;display:grid;place-items:center;color:var(--ss-muted);background:linear-gradient(135deg,var(--ss-soft) 0%,var(--ss-line) 48%,var(--ss-soft) 100%)}
.tpl-minimal .hero-nav{display:none}
.tpl-minimal .hero-strip{grid-row:var(--ss-strip-row);display:flex;align-items:center;justify-content:var(--ss-strip-justify);gap:16px;color:var(--ss-muted);font-size:12px;line-height:1.6}
.tpl-minimal .hero-text{grid-row:var(--ss-text-row);position:relative;display:flex;flex-direction:column}
.tpl-minimal .hero-title{font-size:var(--ss-hero-size);line-height:1.45;letter-spacing:.04em}
.tpl-minimal .hero-sub{color:var(--ss-muted);line-height:1.85}
.tpl-minimal .dots{display:flex;align-items:center;flex-shrink:0}
.tpl-minimal .dots i{display:grid;place-items:center;width:var(--ss-dot-hit);height:44px;cursor:pointer}
.tpl-minimal .dots i::before{content:"";display:block;width:var(--ss-dot-w);height:var(--ss-dot-h);border-radius:var(--ss-dot-radius);background:var(--ss-dot);transition:width .25s ease,background-color .25s ease}
.tpl-minimal .dots i.on::before{width:var(--ss-dot-on-w);background:var(--ss-dot-on)}
@media(hover:hover) and (pointer:fine){
  .tpl-minimal .hero-nav{grid-area:1/1;align-self:center;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin:0 12px;border-radius:var(--ss-radius-pill);background:var(--ss-nav-bg);color:var(--ss-nav-ink)}
  .tpl-minimal .hero-nav.prev{justify-self:start}
  .tpl-minimal .hero-nav.next{justify-self:end}
  .tpl-minimal .hero-nav.next svg{transform:scaleX(-1)}
}

/* ── 區塊 ──────────────────────────────────────────────────────────────── */
.tpl-minimal .sec{position:relative;display:flex;flex-direction:column;gap:var(--ss-gap);padding:var(--ss-sec-y) var(--ss-gutter);scroll-margin-top:72px}
.tpl-minimal .sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 12px}
.tpl-minimal .sec-head .sec-title{flex-basis:100%}
.tpl-minimal .sec>.eyebrow+.rule+.sec-title,.tpl-minimal .sec>.eyebrow+.sec-title{margin-top:calc(var(--ss-gap) * -1 + 8px)}
.tpl-minimal .sec-text{line-height:2;color:var(--ss-text)}
.tpl-minimal .sec-photo{width:100%;aspect-ratio:3/2;border-radius:var(--ss-radius-md)}

.tpl-minimal .gallery-scroller,.tpl-minimal .video-scroller{display:flex;gap:var(--ss-scroller-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--ss-gutter) * -1);padding:var(--ss-scroller-pad) var(--ss-gutter);scroll-padding-inline:var(--ss-gutter)}
.tpl-minimal :is(.gallery-scroller,.video-scroller)::-webkit-scrollbar{display:none}
.tpl-minimal .gallery-img{flex:0 0 82%;width:82%;min-width:0;aspect-ratio:3/2;border-radius:var(--ss-radius-md);scroll-snap-align:start}
.tpl-minimal .video-item{flex:0 0 82%;width:82%;aspect-ratio:16/9;border:0;border-radius:var(--ss-radius-md);scroll-snap-align:start;background:var(--ss-photo-bg)}
.tpl-minimal .video-fallback{display:grid;place-items:center;background:var(--ss-soft)}

/* 商品卡：DOM 照 B2 順序（圖→標籤→名稱→描述→細線→時間＋價格→CTA→看內容）。 */
.tpl-minimal .product-card{position:relative;display:flex;flex-direction:column;min-width:0}
.tpl-minimal .product-photo{width:100%;aspect-ratio:5/4;object-fit:cover}
.tpl-minimal .product-name{font-family:var(--ss-font-card);overflow-wrap:anywhere}
.tpl-minimal .product-desc{color:var(--ss-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tpl-minimal .product-rule{display:none}
.tpl-minimal .product-duration{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:1.6;color:var(--ss-muted)}
.tpl-minimal .product-duration svg{width:14px;height:14px;margin-top:3px}
.tpl-minimal .product-price{font-family:var(--ss-font-card);font-variant-numeric:tabular-nums;white-space:nowrap}
.tpl-minimal .product-cta{display:none}
.tpl-minimal .product-open .link-arrow,.tpl-minimal .product-open svg{width:16px;height:16px}
.tpl-minimal .is-soldout .product-photo{opacity:.45}
.tpl-minimal .is-soldout :is(.product-name,.product-price){color:var(--ss-muted)}
.tpl-minimal .sec-products>.product-card>.catalog-tag{left:12px;top:12px;max-width:calc(100% - 24px)}
.tpl-minimal .sec-products>.product-card:not(:has(.product-photo))>.catalog-tag{position:static;align-self:flex-start}
.tpl-minimal .site-products-more{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px}
.tpl-minimal .site-products-more svg{width:18px;height:18px}

.tpl-minimal .faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;padding:14px 0;text-align:left}
.tpl-minimal .faq-q h3{font:var(--ss-faq-font)}
.tpl-minimal .faq-toggle{position:relative;flex-shrink:0;width:24px;height:24px}
.tpl-minimal .faq-toggle::before,.tpl-minimal .faq-toggle::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .2s ease}
.tpl-minimal .faq-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.tpl-minimal .faq-item.open .faq-toggle::after{transform:translate(-50%,-50%) rotate(0)}
.tpl-minimal .faq-a{display:none;color:var(--ss-text);font-size:14px;line-height:1.9;padding:0 40px 18px 0}
.tpl-minimal .faq-item.open .faq-a{display:block}

.tpl-minimal .links-list{display:flex;flex-direction:column;gap:var(--ss-links-gap)}
.tpl-minimal .link-item{display:grid;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:12px}
.tpl-minimal .link-label{min-width:0;overflow-wrap:anywhere}

/* 購物車鈕：固定右下、留在置中的 780 版面內。 */
.tpl-minimal .cart-fab{position:fixed;right:max(calc(20px + env(safe-area-inset-right,0px)),calc((100vw - 780px)/2 + 20px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;display:grid;place-items:center;width:58px;height:58px}
.tpl-minimal .cart-fab svg{width:24px;height:24px}
.tpl-minimal .cart-count{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;font:600 12px/1 var(--ss-font-latin),sans-serif}

/* ── 頁尾：靠左緊湊（Kelly 2026-10-07 首頁也跟 /p 同一組），顏色吃 token ── */
.tpl-minimal .site-footer{position:relative;display:flex;flex-direction:column;padding:40px var(--ss-gutter) 40px;background:var(--ss-footer-bg);text-align:left}
.tpl-minimal .store-profile{display:flex;flex-direction:column;gap:2px;text-align:left}
.tpl-minimal .store-profile-name{margin:0 0 6px}
.tpl-minimal .store-profile p{margin:0;font-size:13px;line-height:1.7;color:var(--ss-muted);overflow-wrap:anywhere}
.tpl-minimal .store-social{display:flex;flex-wrap:wrap;gap:0 4px;margin:6px 0 -6px -12px}
.tpl-minimal .store-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}
.tpl-minimal .store-social span{display:flex}
.tpl-minimal .site-footer .shopping-info-links{justify-content:flex-start;gap:0 18px;max-width:none;margin:8px 0 0}
.tpl-minimal .site-footer :is(.shopping-info-links>a,.shopping-info-links>button){display:inline-flex;align-items:center;min-height:44px;margin:0;color:var(--ss-text);font-size:12.5px;text-decoration:none}
.tpl-minimal .copyright{margin:4px 0 0;font-size:11px;line-height:1.7;color:var(--ss-muted)}
.tpl-minimal .copyright .byline-brand{display:inline-block;padding:13px 0;margin:-13px 0;text-decoration:underline;text-decoration-color:var(--ss-line);text-underline-offset:3px}

/* ── 桌機（≥768）：hero 4:3、商品 3:2、商品區欄數由風格決定 ──────────────── */
@media(min-width:768px){
  .tpl-minimal :is(.hero-img,.hero-empty){aspect-ratio:4/3}
  .tpl-minimal .product-photo{aspect-ratio:3/2}
  .tpl-minimal .sec-products{display:grid;grid-template-columns:repeat(var(--ss-cols-desktop),minmax(0,1fr));align-items:start}
  .tpl-minimal .sec-products>:is(.sec-head,.site-products-more){grid-column:1/-1}
  .tpl-minimal .gallery-img,.tpl-minimal .video-item{flex-basis:48%;width:48%}
}

/* ═══ 商品總覽 /p 骨架（尺寸吃 --ss-list-*／--ss-chip-*；極簡自己的細節在檔尾） ═══
   DOM 照契約 §8：.list-nav 頂列 → .list-body（標題、.product-filters、卡片格、回首頁）→ 頁尾。
   卡片是總覽專用 DOM（.catalog-photo／.catalog-body），跟首頁卡共用標籤、價格、售完語意。
   site.css 的 .product-list:is(.tpl-a2,.tpl-b2) 規則不會套到這裡；它沒掛版型的那幾條
   （.list-nav .header-cart／.header-member 尺寸、.catalog-veil、.catalog-tag）照樣沿用。 */
.product-list.tpl-minimal .list-nav{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:4px;min-height:var(--ss-header-h);padding:0 10px 0 4px;background:var(--ss-header-bg);border-bottom:var(--ss-header-line)}
.product-list.tpl-minimal .list-back{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0}
.product-list.tpl-minimal .list-back svg{width:22px;height:22px}
.product-list.tpl-minimal .list-nav .brand{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:44px}
.product-list.tpl-minimal :is(.header-cart,.header-member){color:var(--ss-ink)}
.product-list.tpl-minimal .header-cart .cart-count{border-radius:0;background:var(--ss-badge);color:#fff}

.product-list.tpl-minimal .list-body{display:flex;flex-direction:column;gap:var(--ss-list-gap);padding:var(--ss-list-pad)}
.product-list.tpl-minimal .list-body>.sec-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.product-list.tpl-minimal .list-body>.sec-head .eyebrow{font:var(--ss-list-eyebrow-font);letter-spacing:.04em;text-transform:none;color:var(--ss-muted)}
.product-list.tpl-minimal .list-body>.sec-head .sec-title{font-size:var(--ss-list-title-size)}

/* 分類篩選：一列橫捲、不換行（換行會把第一張卡推出畫面，契約 §8.3）；出血到畫面邊。 */
.product-list.tpl-minimal .product-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--ss-gutter) * -1);padding:2px var(--ss-gutter)}
.product-list.tpl-minimal .product-filters::-webkit-scrollbar{display:none}
.product-list.tpl-minimal .product-filter{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:44px;padding:0 16px;white-space:nowrap;border-radius:var(--ss-radius-pill);background:var(--ss-chip-bg);border:var(--ss-chip-line);color:var(--ss-ink);font-size:14px}
.product-list.tpl-minimal .product-filter.on{background:var(--ss-chip-on-bg);border-color:var(--ss-chip-on-bg);color:var(--ss-chip-on-ink);font-weight:500}
.product-list.tpl-minimal .product-filter-count{font-style:normal;font-size:12px;opacity:.7;font-variant-numeric:tabular-nums}

/* 卡片格：手機兩欄、桌機 --ss-list-cols 欄 */
.product-list.tpl-minimal .list-body>.sec-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ss-list-row-gap) var(--ss-list-col-gap);align-items:stretch;padding:0;margin:0;border:0;background:none}
.product-list.tpl-minimal .catalog-photo{position:relative;overflow:hidden;aspect-ratio:5/4;border-radius:var(--ss-radius-md);background:var(--ss-photo-bg)}
.product-list.tpl-minimal .catalog-photo .product-photo{width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.product-list.tpl-minimal .catalog-veil{background:var(--ss-veil)}
.product-list.tpl-minimal .catalog-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:12px 2px 0}
.product-list.tpl-minimal .catalog-body .product-name{font-size:15px;font-weight:400;letter-spacing:.02em;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-list.tpl-minimal .catalog-body .product-desc{display:none}
.product-list.tpl-minimal .catalog-body .product-stock{font-size:12px;line-height:1.5;color:var(--ss-muted)}
.product-list.tpl-minimal .catalog-body .product-cta{display:flex;align-items:center;justify-content:center;gap:4px;align-self:stretch;margin-top:auto;min-height:40px;padding:0 8px;text-align:center;overflow-wrap:anywhere}
.product-list.tpl-minimal .catalog-body>:nth-last-child(2){margin-bottom:10px}
.product-list.tpl-minimal .list-body>.site-return-button{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:16px}

@media(min-width:768px){
  .product-list.tpl-minimal .list-body>.sec-products{grid-template-columns:repeat(var(--ss-list-cols),minmax(0,1fr))}
  .product-list.tpl-minimal .catalog-photo{aspect-ratio:3/2}
  .product-list.tpl-minimal .catalog-body .product-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.75;color:var(--ss-muted)}
}


/* 頁首：店名字距拉開，像門牌 */
.tpl-minimal .site-header{backdrop-filter:var(--hdr-blur);-webkit-backdrop-filter:var(--hdr-blur)}

/* 選單：大字細體＋編號，細線分隔 */
.tpl-minimal .menu-links .menu-item{min-height:64px;border-bottom:1px solid var(--ss-line)}
.tpl-minimal .menu-links .menu-item:first-child{border-top:1px solid var(--ss-line)}
.tpl-minimal .menu-no{font:500 11px/1 "Inter",sans-serif;letter-spacing:.1em;color:var(--ss-muted);width:20px}
.tpl-minimal .menu-label{font-size:20px;font-weight:300;letter-spacing:.06em}
.tpl-minimal .menu-footer .member-entry{border:1px solid var(--ss-ink);font-size:14px;letter-spacing:.12em}
@media(hover:hover){.tpl-minimal .menu-links .menu-item:hover .menu-label{color:var(--ss-accent)}}

/* Hero：照片滿版 → 一條細線指示＋註腳 → 標題（留白很大） */
.tpl-minimal .hero-strip{padding:6px var(--ss-gutter) 0}
.tpl-minimal .hero-strip .dots{margin-right:-4px}
.tpl-minimal .hero-text{padding:36px var(--ss-gutter) 56px;gap:16px}
.tpl-minimal .hero-sub{font-size:14px;letter-spacing:.06em}

/* 區塊：上緣細線分段；眼眉前一段赭紅短線（全頁唯一的顏色） */
.tpl-minimal .sec{border-top:1px solid var(--ss-line)}
.tpl-minimal:not(.product-list) .eyebrow{display:flex;align-items:center;gap:12px}
.tpl-minimal:not(.product-list) .eyebrow::before{content:"";width:20px;height:1px;background:var(--ss-accent)}
.tpl-minimal .sec-head .eyebrow{flex:1}
.tpl-minimal .sec-text{font-size:15px}
.tpl-minimal .sec-about .sec-photo{width:calc(100% + var(--ss-gutter) * 2);max-width:none;margin:12px calc(var(--ss-gutter) * -1) 0}

/* 首頁商品：一欄、照片大；名稱與價格同一列，時間、描述在下，「看內容」小字赭紅。
   限定 :not(.product-list)——/p 的卡片也是 .product-card，格線規則漏過去會把總覽卡排亂。 */
.tpl-minimal:not(.product-list) .sec-products{gap:48px}
.tpl-minimal:not(.product-list) .sec-products>.sec-head{margin-bottom:-12px}
.tpl-minimal:not(.product-list) .product-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:baseline}
.tpl-minimal:not(.product-list) .product-card>:not(.catalog-tag){grid-column:1/-1}
.tpl-minimal:not(.product-list) .product-photo{grid-row:1;margin-bottom:18px}
.tpl-minimal:not(.product-list) .product-card:not(:has(.product-photo))>.catalog-tag{grid-row:1;grid-column:1/-1;margin-bottom:12px}
.tpl-minimal:not(.product-list) .product-name{grid-column:1!important;grid-row:2;font-size:17px;font-weight:400;line-height:1.5}
.tpl-minimal:not(.product-list) .product-meta{display:contents}
.tpl-minimal:not(.product-list) .product-price{grid-column:2!important;grid-row:2;font-size:15px;font-weight:400;letter-spacing:.02em}
.tpl-minimal:not(.product-list) .product-duration{grid-row:3;margin-top:6px}
.tpl-minimal:not(.product-list) .product-desc{grid-row:4;margin-top:8px;font-size:14px;line-height:1.85}
.tpl-minimal:not(.product-list) .product-open{grid-row:5;justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:4px;color:var(--ss-accent);font-size:13px;letter-spacing:.08em}
.tpl-minimal .catalog-tag{border:0;border-radius:0;height:24px;padding:0 8px;background:rgba(255,255,255,.94);color:var(--ss-ink);font:500 11px/1 "Noto Sans TC",sans-serif;letter-spacing:.08em}
.tpl-minimal .catalog-tag.soldout{color:var(--ss-muted)}
.tpl-minimal .site-products-more{border:1px solid var(--ss-ink);border-radius:0;background:none;color:var(--ss-ink);font-size:14px;letter-spacing:.12em}
@media(hover:hover){
  .tpl-minimal .product-card:hover .product-photo{opacity:.88}
  .tpl-minimal .site-products-more:hover{background:var(--ss-ink);color:#fff}
}

/* Q&A：細線列，加減號是兩條 1.5px 的線 */
.tpl-minimal .faq-item{border-bottom:1px solid var(--ss-line)}
.tpl-minimal .faq-item:first-of-type{border-top:1px solid var(--ss-line)}
.tpl-minimal .sec-faq{gap:0}
.tpl-minimal .sec-faq>.sec-title{margin:0 0 28px}
.tpl-minimal .sec-faq>.eyebrow{margin-bottom:28px}
.tpl-minimal .sec-faq>.eyebrow+.sec-title{margin-top:-20px}

/* 聯絡：一列一個，細線分隔、圖示與箭頭灰 */
.tpl-minimal .link-item{min-height:60px;border-bottom:1px solid var(--ss-line)}
.tpl-minimal .link-item:first-child{border-top:1px solid var(--ss-line)}
.tpl-minimal .link-item>svg{color:var(--ss-muted)}
.tpl-minimal .link-label{font-weight:400;letter-spacing:.04em}
@media(hover:hover){.tpl-minimal .link-item:hover .link-label{color:var(--ss-accent)}}

/* 購物車鈕：黑色方塊 */
.tpl-minimal .cart-fab{border-radius:0;background:var(--ss-ink);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.tpl-minimal .cart-count{border-radius:0;background:var(--ss-accent);color:#fff}

/* 頁尾 */
.tpl-minimal .site-footer{border-top:1px solid var(--ss-line)}
.tpl-minimal .store-social a{color:var(--ss-ink)}

@media(min-width:768px){
  .tpl-minimal{--ss-hero-size:44px;--ss-title-size:28px;--ss-gutter:40px;--ss-sec-y:96px}
  .tpl-minimal:not(.product-list) .sec-products{column-gap:32px;row-gap:56px}
  .tpl-minimal .hero-text{padding:48px var(--ss-gutter) 72px}
}

/* 商品總覽 /p：細線方框（篩選、按鈕、回首頁）、零圓角；價格 400、名稱 400，跟首頁卡同一個語氣。 */
.product-list.tpl-minimal .list-body>.sec-head .sec-title{letter-spacing:.04em}
.product-list.tpl-minimal .product-filter{letter-spacing:.04em}
.product-list.tpl-minimal .product-filter:not(.on){color:var(--ss-text)}
.product-list.tpl-minimal .catalog-body .product-duration{font-size:12px;line-height:1.5}
.product-list.tpl-minimal .catalog-body .product-duration svg{width:12px;height:12px;margin-top:2px}
.product-list.tpl-minimal .catalog-body .product-price{margin-top:4px;font-size:14px;font-weight:400;letter-spacing:.02em}
.product-list.tpl-minimal .catalog-body .product-cta{border:1px solid var(--ss-ink);border-radius:0;background:none;color:var(--ss-ink);font-size:13px;letter-spacing:.1em}
.product-list.tpl-minimal .catalog-body .product-cta.is-disabled{border-color:var(--ss-line);color:var(--ss-muted)}
.product-list.tpl-minimal .list-body>.site-return-button{border:1px solid var(--ss-ink);border-radius:0;background:none;color:var(--ss-ink);font-size:14px;letter-spacing:.12em}
@media(hover:hover){
  .product-list.tpl-minimal .product-card:hover .product-photo{opacity:.88}
  .product-list.tpl-minimal .product-card:hover .product-cta:not(.is-disabled){background:var(--ss-ink);color:#fff}
  .product-list.tpl-minimal .product-filter:not(.on):hover{border-color:var(--ss-ink)}
  .product-list.tpl-minimal .list-body>.site-return-button:hover{background:var(--ss-ink);color:#fff}
}
@media(min-width:768px){
  .tpl-minimal{--ss-list-pad:40px var(--ss-gutter) 72px;--ss-list-title-size:30px;--ss-list-row-gap:48px;--ss-list-col-gap:32px}
  .product-list.tpl-minimal .catalog-body{gap:6px;padding-top:16px}
  .product-list.tpl-minimal .catalog-body .product-name{font-size:18px}
  .product-list.tpl-minimal .catalog-body .product-price{font-size:15px}
  .product-list.tpl-minimal .catalog-body .product-cta{min-height:44px}
}
