/* ============================================================
   policy-v2.css — 政策條款頁（隱私權 / 個資法 / 服務條款）
   iv2 站風格：沿用共用 .iv2-hero（iv2-ui.css），本檔負責
   hero 副標 + 抬離 hero 的白色文件紙張 + 條列溝槽對齊 + 目錄。
   色彩沿用站上 token（--iv2u-*）。公開站為淺色，單一主題。
   ============================================================ */

/* hero 內容對齊修正：三政策頁只載入 policy-v2.css，未帶頁面級 .iv2-wrap
   （width/margin/gutter 定義在各頁 -v2.css），導致 hero 內容貼齊左緣跑版。
   此處直接把 hero-inner 對齊下方 1080 白色紙張，H1／麵包屑與內文左緣一致。 */
.iv2-root .iv2-hero .iv2-hero-inner{
  width:auto; max-width:1280px; margin-inline:auto;
  padding-inline:clamp(26px,3.2vw,58px);
}
@media (max-width:560px){
  .iv2-root .iv2-hero .iv2-hero-inner{ padding-inline:22px; }
}

/* hero 副標（白字，置於共用 .iv2-hero 內，h1 之後） */
.iv2-root .iv2-hero .iv2-policy-hero-sub{
  margin:14px 0 0; font-size:1.34rem; font-weight:500;
  color:rgba(255,255,255,.86); font-family:"Noto Sans TC",sans-serif; line-height:1.6;
}

/* 抬離 hero 的白色文件紙張 */
.iv2-policy-sheet{
  position:relative; z-index:3;
  max-width:1280px; margin:calc(-1 * clamp(52px,7vw,96px)) auto 76px;
  background:#fff; border:1px solid var(--iv2u-line,#e7eaf1); border-radius:16px;
  box-shadow:0 1px 2px rgba(20,28,50,.04), 0 12px 30px -12px rgba(20,28,50,.16), 0 34px 64px -34px rgba(20,28,50,.16);
  display:grid; grid-template-columns:minmax(0,1fr) 272px; align-items:stretch;
  font-family:"Noto Sans TC",sans-serif; color:var(--iv2u-text,#1f2736);
}
.iv2-policy-body{ padding:clamp(32px,3.6vw,58px) clamp(26px,3.2vw,58px); min-width:0; }
.iv2-policy-lead{
  font-size:1.72rem; line-height:1.74; color:#42527d; font-weight:500; margin:0;
  padding-bottom:26px; border-bottom:1px solid var(--iv2u-line,#e7eaf1); overflow-wrap:break-word;
}

/* 條文 */
.iv2-policy-art{ padding-top:34px; margin-top:34px; border-top:1px solid var(--iv2u-line,#e7eaf1); scroll-margin-top:90px; }
.iv2-policy-art:first-of-type{ border-top:none; margin-top:24px; padding-top:4px; }
.iv2-policy-art-title{
  font-size:clamp(1.72rem,1.4rem+.7vw,2.05rem); font-weight:800;
  color:var(--iv2u-ink,#19202e); margin:0 0 16px; line-height:1.4; letter-spacing:.01em;
}
.iv2-policy-no{
  color:var(--iv2u-navy,#1e2b4d); font-weight:700; font-size:.82em;
  margin-right:.7em; padding-right:.7em; border-right:2px solid var(--iv2u-line,#e7eaf1);
  letter-spacing:.04em; white-space:nowrap;
}

.iv2-policy-p{ font-size:1.62rem; line-height:1.86; margin:0 0 12px; color:var(--iv2u-text,#1f2736); }

/* 條列：標記溝槽 + 內文欄，達成整齊對齊 */
.iv2-policy-item{
  display:grid; grid-template-columns:2.4em 1fr; column-gap:.5em;
  margin:0 0 11px; font-size:1.62rem; line-height:1.84;
}
.iv2-policy-m{ text-align:right; color:var(--iv2u-navy,#1e2b4d); font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.iv2-policy-t{ overflow-wrap:break-word; color:var(--iv2u-text,#1f2736); }
.iv2-policy-item.is-sub{ grid-template-columns:2.2em 1fr; margin-left:2.5em; font-size:1.5rem; }
.iv2-policy-item.is-sub .iv2-policy-m{ color:var(--iv2u-sub,#5e6678); font-weight:600; }

/* 公司基本資料表（服務條款第一條用）— 標籤欄不換行 */
.iv2-policy-facts{ margin:14px 0 4px; display:grid; gap:0; border:1px solid var(--iv2u-line,#e7eaf1); border-radius:12px; overflow:hidden; }
.iv2-policy-facts > div{ display:grid; grid-template-columns:11em 1fr; }
.iv2-policy-facts > div + div{ border-top:1px solid var(--iv2u-line,#e7eaf1); }
.iv2-policy-facts dt{ color:var(--iv2u-sub,#5e6678); background:#f4f6fb; padding:12px 20px; font-size:1.46rem; white-space:nowrap; }
.iv2-policy-facts dd{ margin:0; font-weight:600; color:var(--iv2u-text,#1f2736); padding:12px 20px; font-size:1.5rem; overflow-wrap:break-word; }

/* 動作列 */
.iv2-policy-actions{ margin:40px 0 0; padding-top:24px; border-top:1px solid var(--iv2u-line,#e7eaf1); }
.iv2-policy-top{ font-size:1.46rem; color:var(--iv2u-sub,#5e6678); text-decoration:none; }
.iv2-policy-top:hover{ color:var(--iv2u-navy,#1e2b4d); }

/* 目錄（紙張右欄） */
.iv2-policy-toc{ border-left:1px solid var(--iv2u-line,#e7eaf1); padding:clamp(32px,3.6vw,58px) 24px; }
.iv2-policy-toc-in{
  position:sticky;
  /* 固定導航列高 74px（--iv2-nav-h 僅 scope 於 .iv2-nav 讀不到，比照 spacer 寫死）+ 16px 與頂端間隔 */
  top:90px;
  /* 長目錄（如服務條款 20 條）超過視窗高度時，內部自捲以完整顯示、不被裁切 */
  max-height:calc(100vh - 90px - 24px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
/* 全站 style.css 的 body{overflow-x:hidden} 會讓 body 變捲動容器、令 position:sticky 失效；
   桌機（兩欄，>860）還原 overflow-x:visible 讓右側目錄可跟著頁面捲動（html 層仍攔橫向溢出）。 */
@media (min-width:861px){ html body{ overflow-x:visible; } }
.iv2-policy-toc-h{ font-size:1.47rem; font-weight:700; letter-spacing:.16em; color:var(--iv2u-sub,#5e6678); margin:0 0 12px; }
.iv2-policy-toc-toggle{ display:none; }
.iv2-policy-toc ol{ list-style:none; margin:0; padding:0; }
.iv2-policy-toc a{ display:grid; grid-template-columns:2.1em 1fr; gap:.4em; padding:9px 4px 9px 12px; text-decoration:none; color:var(--iv2u-sub,#5e6678); font-size:1.46rem; line-height:1.5; border-left:2px solid transparent; transition:color .15s,border-color .15s; }
.iv2-policy-toc a .n{ color:#42527d; font-weight:700; text-align:right; font-variant-numeric:tabular-nums; }
.iv2-policy-toc a:hover{ color:var(--iv2u-ink,#19202e); }
.iv2-policy-toc a.is-active{ color:var(--iv2u-ink,#19202e); font-weight:600; border-left-color:#c8a13d; }
.iv2-policy-toc a.is-active .n{ color:#c8a13d; }

/* ---- 手機 ---- */
@media (max-width:860px){
  .iv2-policy-sheet{ grid-template-columns:1fr; border-radius:14px; margin-bottom:56px; }
  .iv2-policy-toc{ border-left:none; border-top:1px solid var(--iv2u-line,#e7eaf1); order:-1; padding:22px 22px 4px; }
  .iv2-policy-toc-in{ position:static; }
  .iv2-policy-toc-toggle{ display:flex; align-items:center; justify-content:space-between; width:100%; background:none; border:none; font:inherit; cursor:pointer; color:var(--iv2u-navy,#1e2b4d); font-weight:700; font-size:1.55rem; padding:0; letter-spacing:.1em; }
  .iv2-policy-toc-toggle::after{ content:"▾"; transition:transform .2s; }
  .iv2-policy-toc.is-collapsed .iv2-policy-toc-toggle::after{ transform:rotate(-90deg); }
  .iv2-policy-toc.is-collapsed ol{ display:none; }
  .iv2-policy-toc-h{ display:none; }
  .iv2-policy-p, .iv2-policy-item{ font-size:1.52rem; }
  .iv2-policy-item.is-sub{ font-size:1.42rem; }
  .iv2-policy-facts > div{ grid-template-columns:9.5em 1fr; }
  .iv2-policy-facts dt{ padding:11px 14px; font-size:1.38rem; }
  .iv2-policy-facts dd{ padding:11px 14px; font-size:1.42rem; }
  .iv2-policy-no{ display:block; border-right:none; margin:0 0 4px; padding:0; font-size:1.38rem; color:#c8a13d; }
}
