/* ===== GS Commerce · Legal pages (Terms / Privacy) shared styles ===== */
:root{
  --blue:#3B63E6; --blue-d:#2642C9; --blue-soft:#EDF1FE;
  --ink:#15202B; --gray:#5B6474; --line:#E6EAF2; --footer:#1C2531;
  --radius:16px; --shadow:0 18px 40px rgba(16,42,97,.12); --maxw:860px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden;max-width:100%}
body{
  font-family:"PingFang TC","Noto Sans TC","Inter",-apple-system,"Segoe UI",system-ui,sans-serif;
  color:var(--ink);background:#fff;line-height:1.75;-webkit-font-smoothing:antialiased;
}
html[lang="en"] body{font-family:"Inter",-apple-system,"Segoe UI",system-ui,sans-serif;}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- Header ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink)}
.logo-mark{width:34px;height:34px;display:block;flex:none}
.logo-text{display:flex;flex-direction:column;line-height:1.05;gap:3px}
.logo-text b{font-weight:800;font-size:18px;letter-spacing:.3px}
.logo-text small{font-size:9.5px;font-weight:700;letter-spacing:1.5px;color:var(--gray)}
.nav-right{display:flex;align-items:center;gap:12px}
.back-home{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--gray);
  border:1px solid var(--line);border-radius:999px;padding:9px 16px;transition:border-color .2s,color .2s}
.back-home:hover{border-color:var(--blue);color:var(--blue)}
.lang-dd{position:relative}
.lang-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;
  border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .2s}
.lang-toggle:hover{border-color:var(--blue)}
.lang-toggle .globe{width:16px;height:16px;display:block;flex:none}
.lang-toggle .caret{font-size:10px;opacity:.6;transition:transform .2s}
.lang-dd.open .caret{transform:rotate(180deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow);min-width:160px;padding:6px;display:none;z-index:60}
.lang-dd.open .lang-menu{display:block}
.lang-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:none;
  padding:10px 12px;border-radius:8px;font-size:14px;color:var(--ink);cursor:pointer;text-align:left}
.lang-menu button:hover{background:var(--blue-soft)}
.lang-menu button.active{color:var(--blue);font-weight:700}
.lang-menu button .tick{color:var(--blue);opacity:0;font-size:13px}
.lang-menu button.active .tick{opacity:1}

/* ---------- Title band ---------- */
.doc-hero{background:linear-gradient(180deg,#EDF2FE,#F6F9FF);border-bottom:1px solid var(--line)}
.doc-hero .wrap{padding-top:52px;padding-bottom:40px}
.doc-hero h1{font-size:38px;font-weight:800;letter-spacing:.3px;color:#16244F}
.doc-hero .en-sub{margin-top:6px;font-size:16px;font-weight:600;color:var(--blue-d);letter-spacing:.4px}
.doc-meta{margin-top:22px;display:grid;gap:7px;font-size:14px;color:var(--gray)}
.doc-meta div{display:flex;gap:8px;flex-wrap:wrap}
.doc-meta b{color:var(--ink);font-weight:700;flex:none}

/* ---------- Content ---------- */
main{max-width:var(--maxw);margin:0 auto;padding:46px 24px 72px}
.toc{background:var(--blue-soft);border:1px solid #DCE4FB;border-radius:var(--radius);padding:20px 24px;margin-bottom:40px}
.toc h2{font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--blue-d);margin-bottom:14px}
.toc ol{list-style:none;columns:2;column-gap:28px}
.toc li{margin-bottom:9px;break-inside:avoid}
.toc a{font-size:14px;color:var(--ink);display:inline-flex;gap:8px;line-height:1.5}
.toc a:hover{color:var(--blue)}
.toc a .n{color:var(--blue);font-weight:700;flex:none}

section.clause{margin-bottom:34px;scroll-margin-top:84px}
section.clause h2{font-size:20px;font-weight:800;color:var(--ink);margin-bottom:14px;line-height:1.4}
section.clause h2 .n{color:var(--blue);margin-right:8px}
section.clause p{margin-bottom:12px;color:#36404F;font-size:15.5px}
section.clause ul,section.clause ol{margin:0 0 12px;padding-left:4px;list-style:none}
section.clause li{position:relative;padding-left:22px;margin-bottom:9px;color:#36404F;font-size:15.5px}
section.clause ul li::before{content:"";position:absolute;left:4px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--blue)}
section.clause ol{counter-reset:li}
section.clause ol li{counter-increment:li}
section.clause ol li::before{content:counter(li);position:absolute;left:0;top:0;color:var(--blue);font-weight:700;font-size:13px}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}
.contact-card .row{display:flex;gap:10px;margin-bottom:9px;font-size:15px;flex-wrap:wrap}
.contact-card .row:last-child{margin-bottom:0}
.contact-card b{color:var(--ink);font-weight:700;flex:none;min-width:116px}
.contact-card a{color:var(--blue);font-weight:600}

/* ---------- Footer ---------- */
footer{background:var(--footer);color:#8691a3;font-size:13.5px}
footer .wrap{padding:30px 24px;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;text-align:center}
footer a{color:#aeb7c6;transition:color .2s}
footer a:hover{color:#fff}
footer .sep{opacity:.4}

@media(max-width:720px){
  .doc-hero h1{font-size:30px}
  .toc ol{columns:1}
  .nav{height:60px}
  .back-home span{display:none}
}
