/* ============================================================
   版型 D — 極簡清新（單一版型，參考米香站版面語言）
   白底大留白・灰階文字・麥金單一強調色・細字重雙語標題・
   3px 方角・傳統多頁式（index / about / news / products / order / oem 共用）
   ============================================================ */

/* 傳統多頁：捲軸空間固定，切頁不左右跳動 */
html{ scrollbar-gutter:stable; }

body.theme-d{
  /* sticky footer：短頁 footer 貼底，切頁高度節奏一致 */
  min-height:100vh; display:flex; flex-direction:column;
  --c-bg:#FFFFFF; --c-surface:#FFFFFF;
  --c-text:#333333; --c-muted:#666666;
  --c-primary:#C8852F; --c-primary-d:#A86A1E; --c-accent:#C8852F;
  --c-line:#E9E4DB; --c-cream:#FAF7F1;
  --radius:3px; --radius-sm:3px;
  --shadow:0 6px 24px rgba(0,0,0,.06);
  --shadow-sm:0 2px 10px rgba(0,0,0,.05);
  --maxw:1400px; --nav-h:96px;
  /* 英文（拉丁字母）走 GFS Didot；中文自動回退 Noto Sans TC */
  --font:'GFS Didot',"Noto Sans TC","Microsoft JhengHei","PingFang TC",system-ui,sans-serif;
}

/* ---- 全域：細字重、方角、收斂裝飾 ---- */
.theme-d h1,.theme-d h2,.theme-d h3{ font-weight:400; }
.theme-d .section{ padding:64px 0; }
.theme-d .section--tint{ background:var(--c-cream); }
.theme-d .btn{
  border-radius:3px; font-weight:500; box-shadow:none; padding:.8em 2.1em; letter-spacing:.06em;
}
.theme-d .btn:hover{ transform:none; box-shadow:none; background:var(--c-primary-d); }
.theme-d .btn--ghost{ box-shadow:inset 0 0 0 1px var(--c-primary); }
.theme-d .btn--ghost:hover{ background:color-mix(in srgb,var(--c-primary) 8%,transparent); color:var(--c-primary); }
.theme-d .card{ box-shadow:none; border-radius:3px; }
.theme-d .card:hover{ transform:none; box-shadow:var(--shadow-sm); }
.theme-d .eyebrow{ background:none; padding:0; border-radius:0; letter-spacing:.3em; font-weight:500; }
.theme-d .site-footer{ margin-top:auto; }
/* 傳統多頁：取消漸入動畫，切頁內容立即完整呈現、不跳動 */
.theme-d .reveal{ opacity:1; transform:none; transition:none; }

/* ---- 導覽列：單排深色（logo 靠左＋功能列同排，同頁尾色 #25150A）---- */
.theme-d .site-header{
  flex-direction:row; align-items:center; height:var(--nav-h);
  padding:0; background:#fff; backdrop-filter:none; border-bottom:1px solid var(--c-line);
}
.theme-d .site-header.scrolled{ background:#fff; box-shadow:var(--shadow-sm); }
/* 頁首容器改滿版（不受 --maxw 限制），logo 貼左、功能列貼右 */
.theme-d .site-header .nav-inner{
  position:relative; height:100%; justify-content:flex-start; gap:18px;
  width:100%; max-width:none; margin-inline:0;
  padding-inline:clamp(16px,2vw,36px);
}
/* 功能列：靠右、黑字加大 */
.theme-d .nav-links{ margin-left:auto; gap:6px; }
.theme-d .nav-links a{ color:#111; font-weight:500; font-size:1.18rem; }
.theme-d .nav-links a::after{ height:2px; bottom:4px; background:var(--c-primary); }
.theme-d .nav-links a:hover{ color:var(--c-primary); }
.theme-d .nav-links a.active{ color:var(--c-primary); }
/* 漢堡（手機）在白底用深色 */
.theme-d .nav-toggle span,
.theme-d .nav-toggle span::before,
.theme-d .nav-toggle span::after{ background:var(--c-text); }
.theme-d .nav-toggle[aria-expanded="true"] span{ background:transparent; }

/* ---- 雙語置中區塊標（英文大字 + 中文副標 + 短金線）---- */
.theme-d .sec-head{ display:flex; flex-direction:column; text-align:center; margin-bottom:36px; }
/* 中文在上、英文在下（以 order 調換，不動 HTML）*/
.theme-d .sec-head .zh{
  order:1; display:block; margin-top:0; font-size:clamp(1.6rem,2.8vw,2rem); font-weight:700;
  color:var(--c-text); letter-spacing:.22em; text-indent:.22em;
}
.theme-d .sec-head .en{
  order:2; display:block; margin-top:6px; font-size:1.05rem; font-weight:700;
  letter-spacing:.16em; color:var(--c-muted); text-transform:uppercase;
}
.theme-d .sec-head::after{
  order:3; content:""; display:block; width:36px; height:2px; background:var(--c-primary); margin:16px auto 0;
}

/* ---- 首頁 Hero：大量留白 + 多布簡筆 ---- */
.theme-d .hero-min{
  padding:calc(var(--nav-h) + 56px) 0 64px; text-align:center; background:#fff; position:relative;
}
.theme-d .hero-min .eyebrow{ font-size:.78rem; color:var(--c-primary); }
.theme-d .hero-min h1{
  font-size:clamp(1.9rem,4.6vw,3rem); font-weight:300; letter-spacing:.12em; margin:14px 0 6px;
}
.theme-d .hero-min .lead{
  color:var(--c-muted); max-width:34em; margin:10px auto 0; font-size:1.02rem;
}
.theme-d .hero-min .hero-cta{ justify-content:center; margin-top:30px; }
.theme-d .hero-min .hero-dobu{
  width:min(46vw,190px); margin:34px auto 0; display:block;
}
.theme-d .hero-min .hero-dobu img{ width:100%; }

/* ---- Hero Banner（業主提供整圖，置於 header 正下方）---- */
.theme-d .hero-banner{ margin-top:var(--nav-h); background:#fff; }
.theme-d .hero-banner img{ display:block; width:100%; height:auto; aspect-ratio:4640/928; }

/* ---- About 簡介 ---- */
.theme-d .about-copy{ max-width:46em; margin:0 auto; text-align:center; color:var(--c-muted); }
.theme-d .stats-min{ display:flex; justify-content:center; gap:56px; margin-top:30px; flex-wrap:wrap; }
.theme-d .stats-min b{ font-size:1.7rem; font-weight:300; color:var(--c-primary); display:block; line-height:1.3; }
.theme-d .stats-min span{ font-size:.85rem; color:var(--c-muted); letter-spacing:.1em; }

/* ---- News 最新消息：極簡列表 ---- */
.theme-d .news-list{ max-width:780px; margin:0 auto; }
.theme-d .news-item{
  display:flex; align-items:baseline; gap:26px; padding:16px 6px;
  border-bottom:1px solid var(--c-line); color:var(--c-text);
}
.theme-d .news-item:first-child{ border-top:1px solid var(--c-line); }
.theme-d .news-item time{ color:var(--c-primary); font-weight:500; font-size:.9rem; flex:none; letter-spacing:.04em; }
.theme-d .news-item .tagchip{
  flex:none; font-size:.72rem; color:var(--c-muted); border:1px solid var(--c-line);
  padding:.1em .7em; border-radius:2px;
}

/* ---- Products 極簡商品卡 ---- */
.theme-d .pgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.theme-d .pcard{ text-align:center; color:inherit; display:block; }
.theme-d .pcard .ph{
  position:relative;
  aspect-ratio:4/3; display:grid; place-items:center; background:#fff;
  border:1px solid var(--c-line); border-radius:3px; overflow:hidden;
  transition:border-color .25s var(--ease);
}
/* 商品圖完整置於框內不裁切。
   註：.ph 高度由 aspect-ratio 推導，grid 子元素的百分比高度解析不到，
   故改用絕對定位置中＋max 尺寸（containing block 高度為定值，百分比可解析）*/
.theme-d .pcard .ph img{
  position:absolute; inset:0; margin:auto;
  width:auto; height:auto;
  max-width:calc(100% - 28px); max-height:calc(100% - 28px);
  object-fit:contain; transition:transform .3s var(--ease);
}
.theme-d .pcard:hover .ph{ border-color:var(--c-primary); }
.theme-d .pcard:hover .ph img{ transform:scale(1.06); }
.theme-d .pcard h4{ margin:16px 0 2px; font-weight:500; font-size:1.05rem; letter-spacing:.08em; }
.theme-d .pcard .price{ color:var(--c-primary); font-weight:500; font-size:.95rem; }
.theme-d .pcard .price .unit{ color:var(--c-muted); font-size:.8rem; }

/* ---- 內頁頁首（about / news / products / order / oem 統一節奏）---- */
.theme-d .page-head{ padding:calc(var(--nav-h) + 28px) 0 8px; text-align:center; }
.theme-d .page-head .note{ max-width:52em; margin:14px auto 0; }

/* ---- 首頁快速入口卡（傳統首頁導流）---- */
.theme-d .entry-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1000px; margin:0 auto; }
.theme-d .entry{
  border:1px solid var(--c-line); border-radius:3px; padding:30px 24px 26px; text-align:center;
  background:#fff; color:inherit; display:block; transition:border-color .25s var(--ease);
}
.theme-d .entry:hover{ border-color:var(--c-primary); }
.theme-d .entry .feature-ico{ margin-inline:auto; border-radius:3px; }
.theme-d .entry h3{ font-weight:500; font-size:1.08rem; letter-spacing:.1em; margin:8px 0 6px; }
.theme-d .entry p{ color:var(--c-muted); font-size:.9rem; margin-bottom:10px; }
.theme-d .entry .go{ color:var(--c-primary); font-weight:500; font-size:.9rem; letter-spacing:.08em; }

/* ---- 訂購精靈微調（結構沿用 base.css）---- */
.theme-d .wizard{ border-radius:3px; box-shadow:var(--shadow-sm); max-width:860px; }
.theme-d .wizard-steps{ background:var(--c-cream); }
.theme-d .field input,.theme-d .field select,.theme-d .field textarea{ border-radius:3px; border-width:1px; }
.theme-d .pick{ border-radius:3px; }
.theme-d .wlive{ border-radius:3px; }
.theme-d .wsummary{ border-radius:3px; }

/* ---- OEM：優勢卡 / 流程 / CTA ---- */
.theme-d .adv-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.theme-d .adv{
  border:1px solid var(--c-line); border-radius:3px; padding:26px 20px; text-align:center; background:#fff;
}
.theme-d .adv .feature-ico{ margin-inline:auto; border-radius:3px; }
.theme-d .adv h4{ font-weight:500; letter-spacing:.06em; }
.theme-d .adv p{ font-size:.9rem; }
.theme-d .flow{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:900px; margin:0 auto; }
.theme-d .fstep{ text-align:center; position:relative; padding:10px 6px; }
.theme-d .fstep .no{
  width:44px; height:44px; margin:0 auto 10px; display:grid; place-items:center;
  border:1px solid var(--c-primary); color:var(--c-primary); border-radius:50%;
  font-weight:500; font-size:1.05rem;
}
.theme-d .fstep:not(:last-child)::after{
  content:"→"; position:absolute; right:-14px; top:20px; color:var(--c-line); font-size:1.2rem;
}
.theme-d .fstep b{ display:block; font-weight:500; letter-spacing:.1em; font-size:1.15rem; }
.theme-d .fstep span{ color:var(--c-muted); font-size:1rem; }
.theme-d .oem-scope{ text-align:center; color:var(--c-muted); max-width:44em; margin:0 auto 8px; }
.theme-d .oem-scope .sep{ color:var(--c-line); margin:0 .6em; }
.theme-d .cta-band{
  text-align:center; border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line);
  padding:44px 0; background:var(--c-cream);
}
.theme-d .cta-band .tel{
  font-size:clamp(1.6rem,4vw,2.2rem); font-weight:300; letter-spacing:.1em; color:var(--c-primary);
  display:block; margin:8px 0 4px;
}
.theme-d .cta-band .muted{ font-size:1.25rem; }

/* ---- Footer：深褐、含聯絡資訊 ---- */
.theme-d .site-footer{ background:#25150A; color:#D9CCBB; padding:46px 0 24px; }
.theme-d .site-footer h4{ font-weight:500; letter-spacing:.14em; font-size:.95rem; }
.theme-d .footer-grid li{ color:#B7A488; font-size:.92rem; }
.theme-d .footer-bottom{ color:#8D7B62; }

/* ---- RWD ---- */
@media (max-width:900px){
  .theme-d .pgrid{ grid-template-columns:repeat(3,1fr); gap:16px; }
}
@media (max-width:760px){
  .theme-d .section{ padding:48px 0; }
  /* 手機：深色單排（logo 靠左＋白色漢堡），功能列收進全屏選單 */
  body.theme-d{ --nav-h:76px; }
  .theme-d .site-header{ height:var(--nav-h); }
  .theme-d .nav-inner{ height:100%; }
  .theme-d .brand-logo{ height:46px; }
  /* 下拉選單：滿版＋滿高白底，開啟時完全覆蓋內容（不兩層相疊）*/
  .theme-d .nav-links{
    width:auto; margin:0; inset:var(--nav-h) 0 0 0;
    justify-content:flex-start; padding-top:32px; gap:6px; overflow-y:auto;
    box-shadow:none; border-bottom:0;
  }
  .theme-d .nav-links a{ color:var(--c-text); font-size:1.05rem; }
  .theme-d .nav-links a.active{ color:var(--c-primary); }
  .theme-d .hero-min{ padding:calc(var(--nav-h) + 48px) 0 56px; }
  .theme-d .entry-grid{ grid-template-columns:1fr; }
  .theme-d .adv-grid{ grid-template-columns:repeat(2,1fr); }
  .theme-d .pgrid{ grid-template-columns:1fr; gap:26px; }
  .theme-d .flow{ grid-template-columns:repeat(2,1fr); row-gap:22px; }
  .theme-d .fstep:nth-child(2)::after{ display:none; }
  .theme-d .news-item{ flex-wrap:wrap; gap:8px 14px; }
  .theme-d .stats-min{ gap:32px; }
}


/* ---- 真實 Logo（頁首/頁尾）---- */
/* 白底頁首上的 logo：直接使用去背透明 PNG，不加襯底 */
.theme-d .brand-logo{ width:auto; height:66px; transform:none; }
.theme-d .brand-logo-footer{ width:auto; height:46px; background:#fff; padding:7px 12px; border-radius:8px; }

/* ---- 商品 DM 海報 ---- */
.theme-d .product-dm{ width:100%; max-width:760px; height:auto; border-radius:8px; box-shadow:var(--shadow-sm); }

/* ---- 認證 + 工廠照（關於我們）---- */
.theme-d .cert-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,220px)); gap:28px; justify-content:center; margin-top:28px; }
.theme-d .cert{ display:block; text-align:center; color:inherit; }
.theme-d .cert img{ width:100%; height:auto; border:1px solid var(--c-line); border-radius:4px; box-shadow:var(--shadow-sm); transition:transform .3s var(--ease); }
.theme-d .cert:hover img{ transform:translateY(-4px); }
.theme-d .cert span{ display:block; margin-top:10px; font-weight:500; letter-spacing:.06em; }
.theme-d .factory-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:34px; }
.theme-d .factory-grid img{ width:100%; height:auto; object-fit:contain; border-radius:6px; }
@media (max-width:768px){ .theme-d .factory-grid{ grid-template-columns:1fr; } }


/* ================= 改版：大圖卡／輪播／圖文交錯（禁動畫，僅輪播） ================= */
/* 地圖 icon */
.theme-d .map-ico{ display:inline-flex; vertical-align:middle; margin-left:6px; color:var(--c-primary); }
.theme-d .map-ico:hover{ color:#fff; }

/* 大圖卡 */
.theme-d .photo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.theme-d .pcard-lg{ display:block; background:#fff; border:1px solid var(--c-line); border-radius:3px; overflow:hidden; color:inherit; }
.theme-d .pcard-lg .ph{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--c-cream); }
/* 完整顯示不裁切（卡片高度一致，圖置中） */
.theme-d .pcard-lg .ph img{
  position:absolute; inset:0; margin:auto; display:block;
  width:auto; height:auto; max-width:calc(100% - 20px); max-height:calc(100% - 20px);
}
.theme-d .pcard-lg .tx{ padding:22px 24px 26px; }
.theme-d .pcard-lg h3{ font-size:1.25rem; font-weight:700; margin:0 0 10px; }
.theme-d .pcard-lg p{ color:var(--c-muted); margin:0 0 14px; line-height:1.9; font-size:.98rem; }
.theme-d .pcard-lg .go{ color:var(--c-primary); font-weight:500; }
.theme-d .pcard-lg:hover{ box-shadow:var(--shadow-sm); }
.theme-d .pcard-lg:hover .go{ text-decoration:underline; }

/* 圖片輪播（唯一動態） */
.theme-d .carousel{ position:relative; max-width:480px; margin:0 auto; }
.theme-d .carousel .viewport{ overflow:hidden; }
.theme-d .carousel .track{ display:flex; transition:transform .45s var(--ease); }
.theme-d .carousel .slide{ min-width:100%; }
/* 商品照近正方形：用 1:1 框＋contain，整張完整顯示不裁切 */
.theme-d .carousel .slide img{ width:100%; aspect-ratio:1/1; object-fit:contain; display:block; background:#fff; }
.theme-d .carousel .cap{ text-align:center; padding:16px 0 0; font-size:1.1rem; font-weight:500; }
.theme-d .carousel .nav{ position:absolute; top:38%; transform:translateY(-50%); width:44px; height:44px;
  border:0; background:rgba(37,21,10,.55); color:#fff; cursor:pointer; font-size:1.5rem; line-height:1; border-radius:50%; }
.theme-d .carousel .nav:hover{ background:rgba(37,21,10,.8); }
.theme-d .carousel .nav.prev{ left:10px; }
.theme-d .carousel .nav.next{ right:10px; }
.theme-d .carousel .dots{ display:flex; justify-content:center; gap:8px; margin-top:16px; }
.theme-d .carousel .dots button{ width:9px; height:9px; border-radius:50%; border:0; background:var(--c-line); cursor:pointer; padding:0; }
.theme-d .carousel .dots button.cur{ background:var(--c-primary); }

/* 圖文交錯區塊 — 大編號＋圖文交疊卡＋重點小標 */
.theme-d .feat-row{ display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:center; margin-bottom:76px; }
.theme-d .feat-row:last-child{ margin-bottom:0; }
.theme-d .feat-row.rev .feat-img{ order:2; }
/* 圖文交錯：圖片混有直式/橫式，改用原始比例完整顯示（不裁切、也不留黑邊）*/
.theme-d .feat-img img{ width:100%; height:auto; display:block; border-radius:3px; }

/* 文字卡橫向交疊到圖片上製造層次；白底＋邊框＋陰影使其脫離背景 */
.theme-d .feat-tx{
  position:relative; z-index:2;
  background:var(--c-surface); border:1px solid var(--c-line); border-radius:3px;
  padding:38px 40px 34px; margin-left:-64px; box-shadow:var(--shadow);
}
.theme-d .feat-row.rev .feat-tx{ margin-left:0; margin-right:-64px; }

/* 大編號：淡色底襯，絕對定位故不佔版面高度 */
.theme-d .feat-tx .fnum{
  position:absolute; top:14px; right:26px;
  font-size:clamp(3.4rem,5vw,4.8rem); line-height:1; font-weight:700;
  color:var(--c-primary); opacity:.13; letter-spacing:.02em;
  pointer-events:none; user-select:none;
}
/* 分類標題＝主角。原本 .92rem 比其下的說明句（1.4rem）還小，階層是反的，故放大為最大級 */
.theme-d .feat-tx .tagline{
  display:block; position:relative; z-index:1; color:var(--c-text); font-weight:700;
  font-size:clamp(1.5rem,2.4vw,1.8rem); letter-spacing:.1em; margin:0 0 4px; padding-right:92px;
}
/* 說明句＝配角 */
.theme-d .feat-tx h3{
  font-size:1.12rem; font-weight:500; color:var(--c-primary);
  letter-spacing:.04em; margin:0 0 16px; padding-right:92px;
}
.theme-d .feat-tx p{ color:var(--c-muted); line-height:2.05; margin:0 0 12px; }

/* 重點小標：三行可掃視的具體事實 */
.theme-d .feat-pts{ list-style:none; margin:20px 0 0; padding:18px 0 0; border-top:1px solid var(--c-line); }
.theme-d .feat-pts li{
  position:relative; padding-left:18px; margin-bottom:8px;
  color:var(--c-muted); font-size:1rem; line-height:1.85;
}
.theme-d .feat-pts li:last-child{ margin-bottom:0; }
.theme-d .feat-pts li::before{
  content:""; position:absolute; left:0; top:.72em;
  width:6px; height:6px; border-radius:50%; background:var(--c-primary);
}
.theme-d .feat-pts b{ color:var(--c-text); font-weight:700; margin-right:8px; }

@media (max-width:900px){
  .theme-d .photo-grid{ grid-template-columns:1fr; gap:22px; }
  .theme-d .feat-row{ grid-template-columns:1fr; gap:0; margin-bottom:44px; }
  .theme-d .feat-row.rev .feat-img{ order:0; }
  /* 單欄時橫向交疊會失效，改為向上交疊 */
  .theme-d .feat-tx,
  .theme-d .feat-row.rev .feat-tx{ margin:-28px 16px 0; padding:28px 26px 26px; }
}
@media (max-width:520px){
  .theme-d .feat-tx,
  .theme-d .feat-row.rev .feat-tx{ margin:-20px 8px 0; padding:24px 20px 22px; }
  .theme-d .feat-tx .fnum{ font-size:2.8rem; top:10px; right:16px; }
  .theme-d .feat-tx .tagline,
  .theme-d .feat-tx h3{ padding-right:56px; }
}


/* ================= 專業代工頁：代工範圍 / 合作流程 / 洽詢卡 ================= */
/* 代工範圍：分類大圖卡 */
.theme-d .scope-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.theme-d .scope-card{ display:block; color:inherit; background:#fff; border:1px solid var(--c-line);
  border-radius:3px; overflow:hidden; }
.theme-d .scope-card .ph{ position:relative; aspect-ratio:4/3; background:var(--c-cream); overflow:hidden; }
.theme-d .scope-card .ph img{ position:absolute; inset:0; margin:auto; width:auto; height:auto;
  max-width:calc(100% - 18px); max-height:calc(100% - 18px); display:block; }
.theme-d .scope-card .tx{ padding:16px 16px 20px; text-align:center; }
.theme-d .scope-card .lbl{ display:block; font-size:.78rem; letter-spacing:.12em; color:var(--c-muted);
  text-transform:uppercase; margin-bottom:8px; }
.theme-d .scope-card h4{ margin:0 0 6px; font-size:1.08rem; font-weight:700; letter-spacing:.06em; }
.theme-d .scope-card p{ margin:0; color:var(--c-muted); font-size:.9rem; line-height:1.8; }
.theme-d .scope-card:hover{ border-color:var(--c-primary); box-shadow:var(--shadow-sm); }

/* 合作流程：時間軸（桌機／平板水平，手機垂直；純 CSS，無動畫）*/
.theme-d .tl{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
/* 橫軸只連接首尾節點圓心（四等欄的圓心＝12.5% / 37.5% / 62.5% / 87.5%）*/
.theme-d .tl::before{
  content:""; position:absolute; top:22px; left:12.5%; right:12.5%;
  height:2px; background:var(--c-line);
}
.theme-d .tl-step{ position:relative; padding:0 18px; }
.theme-d .tl-dot{
  position:relative; z-index:2; margin:0 auto 20px;
  width:46px; height:46px; border-radius:50%;
  background:var(--c-primary); color:#fff; display:grid; place-items:center;
  font-size:1.05rem; font-weight:700; letter-spacing:.04em;
}
.theme-d .tl-step h4{ margin:0 0 4px; font-size:1.45rem; font-weight:700; letter-spacing:.1em; text-align:center; }
.theme-d .tl-step .sub{ display:block; text-align:center; color:var(--c-primary); font-size:1rem; margin-bottom:16px; }
.theme-d .tl-step ul{ margin:0; padding:16px 0 0; list-style:none; border-top:1px solid var(--c-line); }
.theme-d .tl-step li{ position:relative; padding-left:15px; color:var(--c-muted); font-size:1rem; line-height:1.95; }
.theme-d .tl-step li::before{
  content:""; position:absolute; left:0; top:.8em;
  width:5px; height:5px; border-radius:50%; background:var(--c-primary); opacity:.55;
}

/* 洽詢卡：圖文卡片（刻意不做整條 band，避免與頁尾相似）*/
.theme-d .oem-cta{ background:#fff; padding:70px 0 76px; }
.theme-d .oem-cta .splitcard{ max-width:1000px; margin:0 auto; display:grid;
  grid-template-columns:1fr 1.15fr; border:1px solid var(--c-line); border-radius:4px;
  overflow:hidden; box-shadow:var(--shadow-sm); background:#fff; }
.theme-d .oem-cta .pic{ position:relative; background:var(--c-cream); min-height:300px; }
.theme-d .oem-cta .pic img{ position:absolute; inset:0; margin:auto; width:auto; height:auto;
  max-width:100%; max-height:100%; display:block; }
.theme-d .oem-cta .body{ padding:44px 40px; }
/* 標題階層與四大優勢一致：分類標題（代工洽詢）為主角、說明句為配角 */
.theme-d .oem-cta .kicker{ display:block; font-size:clamp(1.5rem,2.4vw,1.8rem); font-weight:700;
  letter-spacing:.1em; color:var(--c-text); text-transform:none; margin-bottom:6px; }
.theme-d .oem-cta h3{ margin:0 0 16px; font-size:1.12rem; font-weight:500; letter-spacing:.04em; color:var(--c-primary); }
.theme-d .oem-cta p{ margin:0 0 26px; color:var(--c-muted); line-height:2; }
.theme-d .oem-cta p b{ color:var(--c-text); }
.theme-d .oem-cta .btn-tel{ display:inline-flex; align-items:center; background:var(--c-primary);
  color:#fff; font-size:1.45rem; font-weight:700; letter-spacing:.04em; padding:.62em 1.5em; border-radius:4px; }
.theme-d .oem-cta .btn-tel:hover{ background:var(--c-primary-d); }
.theme-d .oem-cta .hours{ display:block; margin-top:16px; font-size:.9rem; color:var(--c-muted); }

@media (max-width:1100px){
  .theme-d .scope-grid{ grid-template-columns:repeat(3,1fr); }
}
/* 時間軸：平板仍維持水平四欄，僅縮小字級與內距 */
@media (max-width:900px){
  .theme-d .tl::before{ top:19px; }
  .theme-d .tl-step{ padding:0 10px; }
  .theme-d .tl-dot{ width:40px; height:40px; font-size:.95rem; margin-bottom:16px; }
  .theme-d .tl-step h4{ font-size:1.2rem; letter-spacing:.06em; }
  .theme-d .tl-step .sub{ font-size:.9rem; margin-bottom:12px; }
  .theme-d .tl-step li{ font-size:.9rem; line-height:1.8; }
}
@media (max-width:860px){
  .theme-d .oem-cta .splitcard{ grid-template-columns:1fr; }
  .theme-d .oem-cta .body{ padding:32px 24px; }
  .theme-d .oem-cta .btn-tel,
  .theme-d .oem-cta .btn-line{ font-size:1.2rem; }
}

/* ================= LINE 聯絡入口 ================= */
/* #06C755 為 LINE 官方指定品牌綠，依其品牌規範不可任意換色 */
.theme-d .line-float{
  position:fixed; right:22px; bottom:22px; z-index:60;
  width:54px; height:54px; border-radius:50%;
  background:#06C755; color:#fff; display:grid; place-items:center;
  box-shadow:0 4px 16px rgba(0,0,0,.22);
}
.theme-d .line-float:hover{ background:#05B14C; }
.theme-d .line-float svg{ width:30px; height:30px; }
/* 「回到頂端」讓位，避免與 LINE 浮動鈕疊在同一角落 */
.theme-d .to-top{ bottom:88px; }

/* 洽詢卡：LINE 按鈕與電話按鈕並列 */
.theme-d .oem-cta .btn-row{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.theme-d .oem-cta .btn-line{
  display:inline-flex; align-items:center; gap:10px;
  background:#06C755; color:#fff; font-size:1.45rem; font-weight:700;
  letter-spacing:.04em; padding:.62em 1.4em; border-radius:4px;
}
.theme-d .oem-cta .btn-line:hover{ background:#05B14C; }
.theme-d .oem-cta .btn-line svg{ width:26px; height:26px; }

/* 頁尾：文字後方掛 icon（與 Google 地圖連結同一手法，不把文字本身變成連結）*/
.theme-d .site-footer .line-ico{ display:inline-block; vertical-align:-3px; margin-left:6px; color:#06C755; }
.theme-d .site-footer .line-ico:hover{ opacity:.75; }

@media (max-width:520px){
  .theme-d .line-float{ width:48px; height:48px; right:16px; bottom:16px; }
  .theme-d .line-float svg{ width:27px; height:27px; }
  .theme-d .to-top{ bottom:76px; right:16px; }
}
@media (max-width:760px){
  .theme-d .scope-grid{ grid-template-columns:1fr; }
  /* 時間軸：手機改垂直。橫軸關閉，改由各節自畫連接線（末節不畫）*/
  .theme-d .tl{ grid-template-columns:1fr; }
  .theme-d .tl::before{ display:none; }
  .theme-d .tl-step{ padding:0 0 30px 60px; }
  .theme-d .tl-step:last-child{ padding-bottom:0; }
  .theme-d .tl-step:not(:last-child)::after{
    content:""; position:absolute; left:19px; top:40px; bottom:0;
    width:2px; background:var(--c-line);
  }
  .theme-d .tl-dot{ position:absolute; left:0; top:0; margin:0; }
  .theme-d .tl-step h4{ text-align:left; margin-bottom:2px; font-size:1.3rem; }
  .theme-d .tl-step .sub{ text-align:left; margin-bottom:12px; }
  .theme-d .tl-step ul{ padding-top:12px; }
}
