/*
Theme Name: Knowledge Broker
Theme URI: https://geo-knowledge-broker.local
Author: GEO Knowledge Broker
Description: 知識經紀人 GEO 顧問品牌站「沉香金」設計系統（A 現代精品克制）。一套 token 與 Next.js 學習系統共用。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: knowledge-broker
*/

/* ───────────────────────────────────────────────────────────
   跨棧 token 正本（與 ui/src/app/globals.css :root 同名同值）
   暖金 gold=行動/連結/CTA · 墨青 celadon=被AI引用/出處 · 米金 cream=文字 · 沉 ink=底 · 磚紅 brick=警示
   ─────────────────────────────────────────────────────────── */
:root {
  --gold-300:#f0cd86; --gold-400:#e7b35c; --gold-500:#c9923c; --gold-600:#8f6320;
  --cream-100:#f3e6cc; --cream-200:#d6c4a0; --cream-300:#c2b289; --cream-400:#9a8b6e;
  --celadon-300:#9bc2b8; --celadon-400:#6f9c93; --celadon-700:#2c4642;
  --ink-900:#0a0a0b; --ink-800:#141009; --ink-700:#1d1810; --ink-600:#2a2317; --ink-card:#16120b;
  --brick:#c9684a;
  --hairline:rgba(231,179,92,.12);
  --hairline-strong:rgba(231,179,92,.18);
  --ink-on-gold:#1a1206;
  --shadow-brand:0 12px 40px rgba(0,0,0,.45);
  --serif:'Noto Serif TC',serif;
  --sans:'Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --maxw:1200px;
}

/* ───────── base ───────── */
*{box-sizing:border-box;}
html{background:var(--ink-900);}
body{
  margin:0; background:var(--ink-900); color:var(--cream-200);
  font-family:var(--sans); font-size:17px; line-height:1.85;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:var(--gold-400); text-decoration:none;}
img{max-width:100%; height:auto;}
::selection{background:var(--gold-400); color:var(--ink-900);}

/* ───────── layout ───────── */
.kb-shell{max-width:1360px; margin:0 auto;}
.kb-section{padding:80px 64px; border-bottom:1px solid var(--hairline); position:relative;}
.kb-container{max-width:var(--maxw); margin:0 auto;}
.kb-eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-500); margin-bottom:14px;}
.kb-eyebrow--celadon{color:var(--celadon-400);}

/* ───────── type ───────── */
.kb-h1{font-family:var(--serif); font-weight:700; font-size:56px; line-height:1.28; color:var(--cream-100); margin:0; letter-spacing:.01em;}
.kb-h2{font-family:var(--serif); font-weight:700; font-size:34px; line-height:1.35; color:var(--cream-100); margin:0 0 24px;}
.kb-h3{font-family:var(--serif); font-weight:700; font-size:21px; color:var(--cream-100); margin:0 0 12px;}
.kb-lead{font-family:var(--serif); font-size:30px; font-weight:500; line-height:1.6; color:var(--cream-100); margin:0;}
.kb-body{font-family:var(--sans); font-size:17px; line-height:1.9; color:var(--cream-300);}
.kb-muted{color:var(--cream-400);}
.kb-gold{color:var(--gold-400);}
.kb-mono{font-family:var(--mono); letter-spacing:.18em;}

/* ───────── nav / header ───────── */
.kb-nav{display:flex; align-items:center; justify-content:space-between; padding:24px 64px; border-bottom:1px solid var(--hairline);}
.kb-logo{display:flex; align-items:baseline; gap:1px; font-family:var(--serif);}
.kb-logo .br{color:var(--gold-400); font-size:24px; font-weight:600;}
.kb-logo .nm{color:var(--cream-100); font-size:19px; font-weight:700; letter-spacing:.06em;}
.kb-nav-links{display:flex; align-items:center; gap:34px; font-family:var(--sans); font-size:14px;}
.kb-nav-links a{color:var(--cream-200);}
.kb-nav-links a:hover{color:var(--gold-400);}

/* ───────── buttons / links ───────── */
.kb-btn{font-family:var(--sans); font-weight:500; font-size:16px; color:var(--ink-on-gold)!important; background:var(--gold-400); padding:15px 30px; border-radius:4px; display:inline-block; transition:transform .2s, background .2s;}
.kb-btn:hover{transform:translateY(-1px); background:var(--gold-300);}
.kb-btn--sm{font-size:14px; padding:9px 18px; border-radius:3px;}
.kb-btn-ghost{font-family:var(--sans); font-weight:500; font-size:15px; color:var(--celadon-300); background:transparent; padding:13px 26px; border:1px solid rgba(111,156,147,.5); border-radius:4px; display:inline-block; transition:border-color .2s,color .2s;}
.kb-btn-ghost:hover{border-color:var(--celadon-300); color:#cfe3dd;}
.kb-arrow{font-family:var(--sans); font-weight:500; font-size:16px; color:var(--gold-400); display:inline-flex; align-items:center; gap:8px; transition:gap .2s;}
.kb-arrow:hover{gap:13px;}
.kb-arrow--underline{border-bottom:1px solid rgba(231,179,92,.4); padding-bottom:3px;}

/* ───────── hero ───────── */
.kb-hero{position:relative; padding:104px 64px 96px; border-bottom:1px solid var(--hairline);}
.kb-hero::before{content:""; position:absolute; inset:0; background:radial-gradient(900px 460px at 88% 0%, rgba(231,179,92,.08), transparent 62%); pointer-events:none;}
.kb-hero-inner{position:relative; max-width:880px;}
.kb-hero .kb-eyebrow{color:var(--celadon-400); letter-spacing:.28em; margin-bottom:26px;}
.kb-hero p{font-family:var(--sans); font-size:19px; line-height:1.9; color:var(--cream-300); max-width:680px; margin:30px 0 0;}
.kb-hero-cta{display:flex; gap:18px; align-items:center; margin-top:40px; flex-wrap:wrap;}

/* ───────── GEO 一句話 ───────── */
.kb-oneliner{display:grid; grid-template-columns:200px 1fr; gap:48px; padding:72px 64px; border-bottom:1px solid var(--hairline);}
.kb-oneliner .tag{font-family:var(--mono); font-size:12px; letter-spacing:.2em; color:var(--gold-500); padding-top:10px;}

/* ───────── 服務 / 三欄 grid ───────── */
.kb-grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline);}
.kb-grid3 .cell{background:var(--ink-900); padding:36px 30px;}
.kb-num{font-family:var(--mono); font-size:13px; color:var(--celadon-400); margin-bottom:18px;}
.kb-grid3 p{font-family:var(--sans); font-size:15px; line-height:1.85; color:var(--cream-400); margin:0;}

/* ───────── 權威證明 ───────── */
.kb-proof-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:36px; gap:24px; flex-wrap:wrap;}
.kb-badge-dashed{font-family:var(--mono); font-size:11px; color:#7a7263; border:1px dashed rgba(231,179,92,.3); padding:6px 12px; border-radius:3px;}
.kb-proof-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.kb-proof-box{height:72px; border:1px solid rgba(255,255,255,.08); border-radius:3px; display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:11px; color:#5f584c;}
.kb-proof-note{font-family:var(--sans); font-size:13px; color:#6f6759; line-height:1.8; margin:18px 0 0;}

/* ───────── 導向指南 funnel ───────── */
.kb-funnel{display:grid; grid-template-columns:1.4fr 1fr; gap:56px; align-items:center; position:relative;}
.kb-funnel::before{content:""; position:absolute; inset:0; background:radial-gradient(700px 360px at 15% 50%, rgba(111,156,147,.07), transparent 60%); pointer-events:none;}
.kb-funnel > *{position:relative;}
.kb-funnel .lead-col h2{margin-bottom:16px; line-height:1.4;}
.kb-funnel .lead-col p{font-family:var(--sans); font-size:16px; line-height:1.9; color:var(--cream-300); margin:0 0 28px; max-width:520px;}
.kb-pillar-list{border:1px solid var(--hairline-strong); border-radius:6px; padding:8px;}
.kb-pillar-list .row{display:flex; align-items:center; gap:14px; padding:14px 16px; border-bottom:1px solid rgba(231,179,92,.1);}
.kb-pillar-list .row:last-child{border-bottom:none;}
.kb-pillar-list .row .n{font-family:var(--mono); font-size:12px; color:var(--celadon-400);}
.kb-pillar-list .row .t{font-family:var(--sans); font-size:14px; color:var(--cream-200);}
.kb-pillar-list .row.more .n{color:var(--gold-500);}
.kb-pillar-list .row.more .t{color:var(--cream-400);}

/* ───────── 概念地圖入口（墨青） ───────── */
.kb-tool{position:relative; margin:8px 0 0; padding:48px; border:1px solid rgba(111,156,147,.3); border-radius:6px; background:radial-gradient(600px 300px at 80% 50%, rgba(111,156,147,.08), transparent 65%); display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.kb-tool h2{font-size:28px; margin:0 0 10px;}
.kb-tool p{font-family:var(--sans); font-size:15px; line-height:1.9; color:var(--cream-300); margin:0; max-width:560px;}

/* ───────── CTA 區 ───────── */
.kb-cta{padding:96px 64px; text-align:center;}
.kb-cta h2{font-size:40px; line-height:1.4; margin:0 0 18px;}
.kb-cta p{font-family:var(--sans); font-size:17px; color:var(--cream-300); margin:0 0 36px;}

/* ───────── footer ───────── */
.kb-footer{padding:40px 64px; border-top:1px solid var(--hairline); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.kb-footer .nm{font-family:var(--serif); color:var(--cream-400); font-size:15px; letter-spacing:.05em;}
.kb-footer .nm .br{color:var(--gold-400);}
.kb-copy{font-family:var(--mono); font-size:11px; color:#5f584c; letter-spacing:.1em;}

/* ───────── 文章 / Boss（single/page）───────── */
.kb-article{max-width:880px; margin:0 auto;}
.kb-breadcrumb{font-family:var(--mono); font-size:12px; letter-spacing:.2em; color:var(--cream-400); margin-bottom:20px;}
.kb-breadcrumb a{color:var(--cream-400);}
.kb-breadcrumb a:hover{color:var(--gold-400);}
.kb-article-h1{font-family:var(--serif); font-weight:700; font-size:48px; line-height:1.3; color:var(--cream-100); margin:0; letter-spacing:.01em;}

/* the_content() 排版：答案前置、H2 章節、連結、引用塊、清單 */
.kb-prose{font-family:var(--sans); font-size:17px; line-height:1.95; color:var(--cream-300);}
.kb-prose > *:first-child{margin-top:0;}
.kb-prose h2{font-family:var(--serif); font-weight:700; font-size:30px; line-height:1.35; color:var(--cream-100); margin:56px 0 18px;}
.kb-prose h3{font-family:var(--serif); font-weight:700; font-size:21px; color:var(--cream-100); margin:36px 0 12px;}
.kb-prose p{margin:0 0 20px;}
.kb-prose strong,.kb-prose b{color:var(--gold-400); font-weight:700;}
.kb-prose a{color:var(--gold-400); border-bottom:1px solid rgba(231,179,92,.4); padding-bottom:1px;}
.kb-prose a:hover{border-bottom-color:var(--gold-400);}
.kb-prose ul,.kb-prose ol{margin:0 0 20px; padding-left:24px;}
.kb-prose li{margin:0 0 8px;}
/* 答案前置：第一個 blockquote = 前 30% 結論，金色左邊框強調 */
.kb-prose blockquote{margin:0 0 28px; padding:4px 0 4px 24px; border-left:2px solid var(--gold-400);}
.kb-prose blockquote p{font-size:20px; font-weight:500; line-height:1.9; color:var(--cream-100); margin:0;}
.kb-prose hr{border:none; border-top:1px solid var(--hairline); margin:48px 0;}

/* ───────── 響應式 ───────── */
@media (max-width:980px){
  .kb-section,.kb-hero,.kb-oneliner,.kb-cta{padding-left:28px; padding-right:28px;}
  .kb-nav,.kb-footer{padding-left:28px; padding-right:28px;}
  .kb-h1,.kb-article-h1{font-size:38px;}
  .kb-h2,.kb-cta h2{font-size:28px;}
  .kb-lead{font-size:23px;}
  .kb-oneliner,.kb-funnel{grid-template-columns:1fr; gap:24px;}
  .kb-grid3,.kb-proof-grid{grid-template-columns:1fr;}
  .kb-tool{flex-direction:column; align-items:flex-start;}
  .kb-nav-links{gap:18px; font-size:13px;}
  .kb-hero{padding-top:64px; padding-bottom:64px;}
}

/* 尊重 reduced-motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.001ms!important; animation-duration:.001ms!important;}
}
