/* ============================================================
   tech-trust — theme.css v1.0.0(DOM contract v1)
   只做呈現性佈局(契約 v1.5 §九):禁改語意/流程/IA/焦點順序。
   作用域一律 body.nx-theme--tech-trust(0,2,0 勝基底 0,1,0)。
   涵蓋:base/nav/hero/section/home 八幕/列表明細/faq/contact/footer/RWD/a11y。
   ------------------------------------------------------------
   ⭐同源:自 editorial-authority/theme.css 逐字衍生(只換作用域 selector),
   因為 tech-trust 的 token 命名刻意沿用 editorial 的語意結構
   (--t-ink/--t-paper/--t-card/--t-line/--t-gilt/--t-seal/--t-rule-double…)。
   → 差異全部落在 tokens.css,theme.css 零手改=兩套皮共用同一份結構契約。
   ⚠️ tech-modular / warm-organic 的 token 命名不同(--t-bg/--t-fg/--t-accent、
      --t-cream/--t-clay/--t-moss),無法這樣衍生=平台既有技術債,見 backlog
      「__themes/ token 命名統一契約」。
   ============================================================ */

/* == base:紙面與正文 == */
body.nx-theme--tech-trust {
    background: var(--t-paper);
    color: var(--t-text);
    font-family: var(--t-f-body);
    font-size: var(--t-fs-base);
    line-height: var(--t-lh-body);
}
body.nx-theme--tech-trust h1,
body.nx-theme--tech-trust h2,
body.nx-theme--tech-trust h3,
body.nx-theme--tech-trust h4 {
    font-family: var(--t-f-display);
    letter-spacing: var(--t-ls-display);
    color: var(--t-ink);
    font-weight: 700;
}
/* ⭐ 佈景契約 v2.2:通用連結色是**全站預設**,不得覆寫「自帶底色的元件」(膠囊/按鈕/卡片)的文字色。
   元件自負連結與 hover 文字色時,其 <a> 掛平台鉤子 `nx-ownhover`,本層一律 :not(.nx-ownhover) 排除。
   ⛔⭐ 必須是 `:not(:where(.nx-ownhover))` 而**不是** `:not(.nx-ownhover)` ——
   後者會把本規則從 (0,2,2) 抬到 (0,3,2),實測當場壓垮 contact 頁 `.nx-c-quick__item:hover` (0,3,1),
   把三個快速聯絡鈕打成 1:1。`:where()` 貢獻 0 特異度 ⇒ 排除生效、特異度原封不動。
   出身=2026-09-03 實測:notarPro 明細頁有 6 個元件 hover 對比 1:1(文字色=元件底色),
   因本層 (0,2,2) 壓過元件層 (0,2,0)。⛔ 不可改用 :where() 降特異度——實測會讓 15 個連結狀態
   改吃母版/租戶硬寫色,等於打壞換皮機制本身。 */
body.nx-theme--tech-trust a:not(:where(.nx-ownhover)) { color: var(--t-ink); }
body.nx-theme--tech-trust a:not(:where(.nx-ownhover)):hover { color: var(--t-accent-dn); }
body.nx-theme--tech-trust ::selection { background: var(--t-gilt); color: #fff; }

/* == 按鈕:方正、實墨/朱印兩型 == */
body.nx-theme--tech-trust .nx-c-btn,
body.nx-theme--tech-trust .btn {
    border-radius: var(--t-radius);
    font-family: var(--t-f-body);
    letter-spacing: 0.06em;
}
body.nx-theme--tech-trust .nx-c-btn--primary {
    background: var(--t-accent);
    border-color: var(--t-accent);
    color: #fff;
}
/* ⛔ 2026-09-03:hover 補 color。原本只換底色不宣告文字色 ⇒ 文字色掉回通用 a:hover 的強調色,
   實測 editorial-authority 首頁主鈕 hover **對比 1.27**(朱紅字壓深朱紅底)。四套同型。 */
body.nx-theme--tech-trust .nx-c-btn--primary:hover { background: var(--t-accent-dn); border-color: var(--t-accent-dn); color: #fff; }
body.nx-theme--tech-trust .nx-c-btn--outline {
    background: transparent;
    border: 1px solid var(--t-ink);
    color: var(--t-ink);
}
body.nx-theme--tech-trust .nx-c-btn--outline:hover { background: var(--t-ink); color: var(--t-paper); }

/* == 導覽:紙面實底+簽名雙線壓底 == */
/* override: 基底 nav.navbar.bootsnav.navbar-transparent.white=(0,4,1),以 body 類疊加壓過 */
body.nx-theme--tech-trust nav.navbar.bootsnav,
body.nx-theme--tech-trust nav.navbar.bootsnav.navbar-transparent,
body.nx-theme--tech-trust nav.navbar.bootsnav.navbar-transparent.white {
    background: var(--t-card);
    border-bottom: 0;
    box-shadow: var(--t-shadow);
}
body.nx-theme--tech-trust nav.navbar::after {
    content: "";
    display: block;
    height: 7px;
    background: var(--t-rule-double);
}
body.nx-theme--tech-trust nav.navbar.bootsnav ul.nav > li > a,
body.nx-theme--tech-trust nav.navbar.bootsnav.navbar-transparent.white ul.nav > li > a {
    color: var(--t-ink);
    font-family: var(--t-f-body);
    letter-spacing: 0.02em;
    /* override: 最大選單(8 項)壓測——收斂 item 密度,1440 寬單列可容 */
    padding-left: 10px;
    padding-right: 10px;
    font-size: 14px;
}
body.nx-theme--tech-trust nav.navbar.bootsnav ul.nav > li > a:hover,
body.nx-theme--tech-trust nav.navbar.bootsnav ul.nav > li.active > a { color: var(--t-accent); }

/* == 首頁 hero(nx-hero-grid):版心對稱、事實表=文書表格 == */
body.nx-theme--tech-trust .nx-sec--hero { background: var(--t-card); }
body.nx-theme--tech-trust .nx-hero-grid h1 {
    font-size: clamp(1.9rem, 4.2vw, 3rem);
    line-height: 1.35;
}
body.nx-theme--tech-trust .nx-hero-lead {
    color: var(--t-text-soft);
    max-width: var(--t-measure);
}
body.nx-theme--tech-trust .nx-c-eyebrow {
    color: var(--t-gilt);
    font-family: var(--t-f-body);
    letter-spacing: 0.22em;
    text-transform: uppercase;
}
body.nx-theme--tech-trust .nx-c-fact {
    background: var(--t-card);
    border: 1px solid var(--t-line);
    border-top: 3px solid var(--t-ink);
    border-radius: var(--t-radius-lg);
    box-shadow: var(--t-shadow);
}
body.nx-theme--tech-trust .nx-c-fact__head {
    font-family: var(--t-f-display);
    color: var(--t-ink);
    border-bottom: 1px solid var(--t-line);
}

/* == section 標題:章式方印+雙線(signature) == */
body.nx-theme--tech-trust .nx-sec__head { text-align: center; }
body.nx-theme--tech-trust .nx-sec__title {
    display: inline-block;
    position: relative;
    padding-bottom: 14px;
}
body.nx-theme--tech-trust .nx-sec__title::before {
    content: "";
    display: inline-block;
    width: 0.62em;
    height: 0.62em;
    margin-right: 0.45em;
    background: var(--t-accent);
    vertical-align: 0.02em;
}
body.nx-theme--tech-trust .nx-sec__title::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 7px;
    background: var(--t-rule-double);
}
body.nx-theme--tech-trust .nx-sec__head--ondark .nx-sec__title { color: var(--t-paper); }
body.nx-theme--tech-trust .nx-sec__sub { color: var(--t-text-soft); }

/* == 區塊節奏:紙面/宣紙交替、標準密度 == */
body.nx-theme--tech-trust .nx-sec { padding-top: var(--t-sec-pad); padding-bottom: var(--t-sec-pad); }
body.nx-theme--tech-trust .nx-sec--guide,
body.nx-theme--tech-trust .nx-sec--v2method,
body.nx-theme--tech-trust .nx-sec--v2products { background: var(--t-paper-soft); }
body.nx-theme--tech-trust .nx-sec--v2map,
body.nx-theme--tech-trust .nx-sec--cta { background: var(--t-ink-deep); color: var(--t-paper); }
body.nx-theme--tech-trust .nx-sec--v2map a,
body.nx-theme--tech-trust .nx-sec--cta a { color: var(--t-paper); }

/* == 引導卡/問題卡/產品卡/案例卡:文書卡=細框+墨頂線 == */
body.nx-theme--tech-trust .nx-guide__card,
body.nx-theme--tech-trust .nx-v2-problem,
body.nx-theme--tech-trust .nx-v2-prod,
body.nx-theme--tech-trust .nx-v2-case,
body.nx-theme--tech-trust .nx-c-card {
    background: var(--t-card);
    border: 1px solid var(--t-line);
    border-radius: var(--t-radius-lg);
    box-shadow: var(--t-shadow);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
body.nx-theme--tech-trust .nx-guide__card:hover,
body.nx-theme--tech-trust .nx-v2-prod:hover,
body.nx-theme--tech-trust .nx-c-card:hover {
    box-shadow: var(--t-shadow-lift);
    transform: translateY(-2px);
}
body.nx-theme--tech-trust .nx-guide__code,
body.nx-theme--tech-trust .nx-v2-case__code,
body.nx-theme--tech-trust .nx-v2-prod__code,
body.nx-theme--tech-trust .nx-v2-flow__code,
body.nx-theme--tech-trust .nx-v2-domain__code,
body.nx-theme--tech-trust .nx-c-card__code {
    color: var(--t-gilt);
    letter-spacing: 0.18em;
}
body.nx-theme--tech-trust .nx-v2-problem__say {
    font-family: var(--t-f-display);
    color: var(--t-ink);
}
body.nx-theme--tech-trust .nx-v2-problem__idx { color: var(--t-seal); }

/* == 引文/心聲:宣紙引文塊+朱線 == */
body.nx-theme--tech-trust .nx-c-quote,
body.nx-theme--tech-trust .nx-c-voice {
    background: var(--t-paper-soft);
    border-left: 3px solid var(--t-accent);
    border-radius: 0 var(--t-radius-lg) var(--t-radius-lg) 0;
}
body.nx-theme--tech-trust .nx-c-voice__say { font-family: var(--t-f-display); color: var(--t-ink); }

/* == 內頁 hero(inner-banner):墨底+雙線壓底 == */
body.nx-theme--tech-trust .inner-banner {
    background: var(--t-ink-deep);
    border-bottom: 0;
}
body.nx-theme--tech-trust .inner-banner::after {
    content: "";
    display: block;
    height: 7px;
    background: var(--t-rule-double);
}
@media (min-width: 992px) {
    body.nx-theme--tech-trust .inner-banner {
        /* override: 最大選單(8 項)壓測——nav 換行(兩列)時 banner 內容不被蓋(桌機限定) */
        padding-top: 140px;
    }
    body.nx-theme--tech-trust .nx-sec--hero {
        /* override: 同上,首頁 hero 頂距清出固定 nav 兩列高度 */
        padding-top: 150px;
    }
}
body.nx-theme--tech-trust .inner-banner-title {
    font-family: var(--t-f-display);
    color: var(--t-paper);
    letter-spacing: var(--t-ls-display);
}
body.nx-theme--tech-trust .inner-banner-label { color: var(--t-gilt); letter-spacing: 0.22em; }
body.nx-theme--tech-trust .inner-breadcrumb,
body.nx-theme--tech-trust .inner-breadcrumb a { color: rgba(247, 245, 240, 0.75); }
/* ⭐ 麵包屑 hover:同色、滿強度(不換色)。
   ⛔ 不要沿用全域 `a:hover{color:var(--t-accent-dn)}` —— 麵包屑坐在深色 hero 上,
     強調色在那個底上是暗的,hover 反而更看不見(2026-09-03 實測 1 項算不出來→查出是這個)。
   具體度 (0,3,1) 高於租戶層 `.inner-breadcrumb ol li a:hover` (0,2,4)?
     —— 類別數 3 > 2,佈景層勝出,租戶不必逐站改。 */
body.nx-theme--tech-trust .inner-breadcrumb a:hover,
body.nx-theme--tech-trust .inner-breadcrumb a:focus { color: #F7F5F0; }
body.nx-theme--tech-trust .inner-content-section { background: var(--t-paper); }

/* == 文章列表卡(article-card):橫式檔案卡 == */
body.nx-theme--tech-trust .article-card {
    background: var(--t-card);
    border: 1px solid var(--t-line);
    border-left: 3px solid var(--t-ink);
    border-radius: var(--t-radius-lg);
    box-shadow: var(--t-shadow);
    transition: box-shadow 0.25s ease;
}
body.nx-theme--tech-trust .article-card:hover { box-shadow: var(--t-shadow-lift); }
body.nx-theme--tech-trust .article-card-title,
body.nx-theme--tech-trust .article-card-title a {
    font-family: var(--t-f-display);
    color: var(--t-ink);
}
body.nx-theme--tech-trust .article-card-date,
body.nx-theme--tech-trust .article-card-meta { color: var(--t-text-soft); }
body.nx-theme--tech-trust .article-card-thumb-placeholder { background: var(--t-paper-soft); }
body.nx-theme--tech-trust .article-card-category {
    background: var(--t-ink);
    color: #fff;
    border-radius: var(--t-radius);
    letter-spacing: 0.08em;
}
body.nx-theme--tech-trust .article-read-more { color: var(--t-accent); }

/* == 側欄(sidebar):目錄式 == */
body.nx-theme--tech-trust .inner-sidebar .sidebar-cat-list a { color: var(--t-text); }
body.nx-theme--tech-trust .inner-sidebar .sidebar-cat-list a:hover { color: var(--t-accent); }
body.nx-theme--tech-trust .sidebar-cat-count {
    color: #fff;
    background: var(--t-ink);
    border-radius: var(--t-radius);
}
body.nx-theme--tech-trust .sidebar-search-btn {
    background: var(--t-ink);
    border-color: var(--t-ink);
    border-radius: 0 var(--t-radius) var(--t-radius) 0;
}
body.nx-theme--tech-trust .sidebar-search-btn:hover { background: var(--t-accent); border-color: var(--t-accent); }
body.nx-theme--tech-trust .sidebar-search-input { border-radius: var(--t-radius) 0 0 var(--t-radius); }
body.nx-theme--tech-trust .sidebar-search-input:focus { border-color: var(--t-ink); }
body.nx-theme--tech-trust .sidebar-recent-date { color: var(--t-text-soft); }

/* == FAQ:條文式 == */
body.nx-theme--tech-trust .faq-main-section { background: var(--t-paper); }
body.nx-theme--tech-trust .faq-item {
    background: var(--t-card);
    border: 1px solid var(--t-line);
    border-radius: var(--t-radius-lg);
    box-shadow: var(--t-shadow);
}
body.nx-theme--tech-trust .faq-q-num { background: var(--t-ink); color: #fff; border-radius: var(--t-radius); }
body.nx-theme--tech-trust .faq-q-text { font-family: var(--t-f-display); color: var(--t-ink); }
body.nx-theme--tech-trust .faq-q-arrow { color: var(--t-gilt); }
body.nx-theme--tech-trust .faq-group-title { color: var(--t-gilt); letter-spacing: 0.12em; }

/* == contact:NAP 表=文書表格 == */
body.nx-theme--tech-trust .nx-contact-grid .nx-c-heading { font-family: var(--t-f-display); }
body.nx-theme--tech-trust .nx-contact-maplink { color: var(--t-accent); }

/* == 模組頁 CTA 橫幅:墨底+金頂線(取代基底藍漸層) == */
body.nx-theme--tech-trust .svc-cta-section {
    background: var(--t-ink-deep);
    border-top: 3px solid var(--t-gilt);
}
body.nx-theme--tech-trust .svc-cta-title { font-family: var(--t-f-display); color: var(--t-paper); }
body.nx-theme--tech-trust .svc-cta-text { color: rgba(247, 245, 240, 0.8); }
body.nx-theme--tech-trust .btn-svc-cta-primary {
    background: var(--t-accent);
    border-color: var(--t-accent);
    border-radius: var(--t-radius);
}
body.nx-theme--tech-trust .btn-svc-cta-primary:hover { background: var(--t-accent-dn); }
body.nx-theme--tech-trust .btn-svc-cta-outline {
    border-color: var(--t-paper);
    color: var(--t-paper);
    border-radius: var(--t-radius);
}

/* == footer:深墨+金線 == */
body.nx-theme--tech-trust .footer,
body.nx-theme--tech-trust .footer-main {
    background: var(--t-ink-deep);
    color: rgba(247, 245, 240, 0.85);
    border-top: 3px solid var(--t-gilt);
}
body.nx-theme--tech-trust .footer a,
body.nx-theme--tech-trust .footer-main a { color: rgba(247, 245, 240, 0.85); }
body.nx-theme--tech-trust .footer a:hover,
body.nx-theme--tech-trust .footer-main a:hover { color: #fff; }
body.nx-theme--tech-trust .copy-right { color: rgba(247, 245, 240, 0.55); }

/* == a11y 底線(驗收基線):焦點可見、reduced-motion == */
body.nx-theme--tech-trust a:focus-visible,
body.nx-theme--tech-trust button:focus-visible,
body.nx-theme--tech-trust .nx-c-btn:focus-visible {
    outline: 2px solid var(--t-seal);
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    body.nx-theme--tech-trust .nx-guide__card,
    body.nx-theme--tech-trust .nx-v2-prod,
    body.nx-theme--tech-trust .nx-c-card,
    body.nx-theme--tech-trust .article-card {
        transition: none;
    }
    body.nx-theme--tech-trust .nx-guide__card:hover,
    body.nx-theme--tech-trust .nx-v2-prod:hover,
    body.nx-theme--tech-trust .nx-c-card:hover {
        transform: none;
    }
}

/* == RWD:呈現性堆疊微調(結構堆疊由基底 CSS 管) == */
@media (max-width: 768px) {
    body.nx-theme--tech-trust { --t-sec-pad: 48px; }
    body.nx-theme--tech-trust .nx-hero-grid h1 { font-size: clamp(1.6rem, 6.4vw, 2.2rem); }
}
