@charset "UTF-8";

/* ==========================================================================
   chrome.css —— 全站共用的「外框」樣式（Header + Footer）
   --------------------------------------------------------------------------
   ★ 為什麼要跟 coolify.css 分開？

     coolify.css（2900 行）裡面有 h2 / p / a / img 之類的排版規則，
     雖然全部限定在 .cf-site 底下，但 Header 和 Footer 是「全站都有」的，
     如果為了它們把整份 coolify.css 全站載入，Elementor 做的頁面就會
     被那些排版規則影響到。

     所以切出這一份：只有變數、Reset、容器、Header、Footer。
     全站載入，Elementor 頁面只會拿到這些，碰不到內容區的排版。

   ★ 選擇器維持 .cf-site 前綴不變（直接從 coolify.css 抄過來，沒改一個字）。
     做法是把 .cf-site 這個 div 「只包住 Header 和 Footer」——
     Elementor 的內容落在兩者之間、wrapper 外面。

         <div class="cf-site"><header>…</header></div>
         Elementor 的內容            ← 在 wrapper 外，只吃到本檔案的變數
         <div class="cf-site"><footer>…</footer></div>

     我們自己刻的頁面（首頁、產品頁）則是整頁包在一個 .cf-site 裡面，
     並額外載入完整的 coolify.css。

   ★ 內容來源：coolify.css 的第 1～4 節 + 5-1 HEADER + 對應斷點，
     原封不動複製。要改 Header 樣式請「同時」改兩個檔案，
     或改完之後重新從 coolify.css 抽一次。
   ========================================================================== */


/* ==========================================================================
   1. 變數（Design Tokens）
   ========================================================================== */
/* ★ 唯一還留在全域的變數。
   <html> 的 scroll-padding-top 需要 header 高度，而 html 在 .cf-site 外面，
   讀不到 wrapper 內部的變數 —— 所以這一個只能放全域。名字加了 cf- 前綴，
   避免跟 WordPress 主題或 Elementor 撞名。
   改 header 高度改這一行就好，下面 .cf-site 的 --header-h 會跟著它走。 */
:root {
  --cf-header-h: 60px;
}

/* 原本這一整段寫在 :root 上。:root 就是 <html>，是全域的 ——
   搬進 .cf-site 之後，變數只在 wrapper 內部繼承，不會外洩到 Elementor footer
   或主題的其他頁面。wrapper 裡的子元素照樣拿得到，求值行為完全不變。 */
.cf-site {
  /* 色彩 */
  --color-bg: #f5f5f5;
  --color-surface: #ffffff;
  --color-text: #222222;
  --color-text-muted: #666666;
  --color-border: #e0e0e0;
  --color-primary: #2563eb;
  --color-primary-hover: #1d4ed8;

  /* HEADER 專用（改這幾個就能換整個 header） */
  --header-h: var(--cf-header-h);           /* header 高度，banner 會扣掉這個值。
                                               數值在最上面的 :root（<html> 也要用） */
  --header-bg: #000000;                     /* 黑底 */
  --header-text: #ffffff;
  --header-border: rgba(255, 255, 255, 0.12);
  /* 邊框在黑底上必須用淺色 —— 原本的 rgba(0,0,0,.08) 是深色，
     疊在黑底上等於完全看不見，而底下的 banner 也是深色底圖，
     沒有這條線的話 header 會整片融進 banner 裡分不出來。 */
  --menu-gap: 12px;                         /* 下拉面板與 header 底部的距離。
                                               面板是從「導覽項目」的底部起算，而 .site-header
                                               有 4px 的 padding-block，所以眼睛看到的空隙
                                               ＝這個值 - 4px。也用在兩層面板之間的縫。 */
  --menu-pad: var(--space-3);               /* 面板內距。也決定第二層的垂直對齊，
                                               兩者共用同一個值才會剛好對齊面板頂端 */

  /* 字體 */
  --font-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue",
    "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;

  /* 字級：clamp(最小, 流動值, 最大) —— 不用斷點就能隨螢幕縮放 */
  --fs-h1: clamp(1.75rem, 5vw, 3rem);
  --fs-h2: clamp(1.5rem, 3.5vw, 2.25rem);
  --fs-h3: clamp(1.25rem, 2.5vw, 1.5rem);
  --fs-body: clamp(0.95rem, 1.6vw, 1.0625rem);
  --fs-small: 0.875rem;

  /* 大標字級：首頁 banner 與各產品頁 hero 共用，改這一行兩邊一起變 */
  --fs-display: clamp(2.5rem, 7vw, 5rem);   /* 手機 40px → 桌機 80px */

  /* 小標與大標之間的「視覺」距離（全站每個區塊共用，改這一行就全部連動）
     註：目標視覺 25px。小字行高底部 ~5px + 大字字體頂部內建留白 ~10px
     是看不見但存在的空白，所以 margin 要扣掉它們才會「看起來」是 25px。 */
  --gap-eyebrow: 20px;

  /* 間距（8px 為基準） */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4rem;

  /* 版面 */
  --container-max: 1280px;
  --gutter: var(--space-3);
  --radius: 8px;

  /* 卡片外觀（.info-card 和 .steps 共用，改這兩行兩邊一起變）
     線色刻意用「不透明」的值：半透明邊框會疊在元素自己的背景上，
     .steps 的背景本身就是線色，會疊成兩層而變深，跟 .info-card 對不起來。 */
  --card-line: #ededed;                       /* 外框與分隔線的顏色 */
  --card-radius: 14px;                        /* 圓角 */
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.04);
}

/* 2026-08-26：拿掉了深色模式的 @media (prefers-color-scheme: dark) 覆寫。
   設計稿沒有深色版本，留著的後果是「系統跑深色模式的人看到的是一個沒人設計過
   的版本」——使用者自己的 Chrome 就是深色模式，所以一直看到跟設計稿不同的畫面。
   （這也是為什麼每個區塊都得記得「寫死背景色 → 同時寫死文字色」那條鐵律；
   整段刪掉之後，那條鐵律就不再是必要的，新增區塊也不會再踩到這個坑。
   既有區塊那些寫死的顏色留著不動，它們本來就是設計稿的顏色。）
   不管使用者系統是什麼模式，永遠顯示上面 :root 裡定義的這一組顏色。 */

/* ==========================================================================
   2. Reset
   ========================================================================== */
.cf-site, .cf-site *,
.cf-site *::before,
.cf-site *::after{
  box-sizing: border-box;
}

html{
  -webkit-text-size-adjust: 100%; /* 防止 iOS 橫向時自動放大字 */
  scroll-behavior: smooth;
  /* 捲到錨點時預留 header 的高度，否則區塊標題會被 sticky header 蓋住。
     只影響「點連結捲動」的落點，完全不參與版面計算。 */
  /* ★ 用最上面 :root 的 --cf-header-h，不是 .cf-site 裡的 --header-h ——
     html 在 wrapper 外面，讀不到裡面的變數。 */
  scroll-padding-top: var(--cf-header-h);
}

/* ★ body 的 margin 歸零只能寫在 body 上 —— 它在 wrapper 外面，.cf-site 管不到。
   瀏覽器預設給 body 8px margin，不歸零整頁會有一圈白邊（2026-09-02 diff 抓到的）。
   這是第二條留在全域的規則，但完全無害：每個 WordPress 主題自己都會做這件事，
   搬過去之後這三行可以直接刪掉。 */
body {
  margin: 0;
}

.cf-site,
.cf-site h1, .cf-site h2, .cf-site h3, .cf-site h4, .cf-site h5, .cf-site h6,
.cf-site p, .cf-site figure, .cf-site blockquote, .cf-site dl, .cf-site dd, .cf-site ul, .cf-site ol{
  margin: 0;
}

.cf-site ul[class],
.cf-site ol[class]{
  padding: 0;
  list-style: none;
}

/* 圖片、影音一律不撐破容器 —— RWD 最重要的一條 */
.cf-site img,
.cf-site picture,
.cf-site video,
.cf-site canvas,
.cf-site svg,
.cf-site iframe{
  display: block;
  max-width: 100%;
  height: auto;
}

.cf-site input,
.cf-site button,
.cf-site textarea,
.cf-site select{
  font: inherit;
  color: inherit;
}

/* 長字串／網址不會撐破版面 */
.cf-site p, .cf-site h1, .cf-site h2, .cf-site h3, .cf-site h4, .cf-site li, .cf-site a{
  overflow-wrap: break-word;
}

/* 尊重使用者的「減少動態效果」設定 */
@media (prefers-reduced-motion: reduce) {
  html{
    scroll-behavior: auto;
  }
  .cf-site, .cf-site *,
  .cf-site *::before,
  .cf-site *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ==========================================================================
   3. 基礎排版
   ========================================================================== */
.cf-site{
  /* ---- Footer（2026-09-03 新增）---- */
  --footer-bg: #a3a3a3;
  --footer-text: #fff;
  --footer-gutter: var(--space-4);

  /* 2026-09-03 移除 min-height：這份檔案裡的 .cf-site 只包 Header 或 Footer，
     留著會讓它們各自被撐高一整個螢幕，把 Elementor 頁面的內容往下推。
     自訂頁面有 coolify.css，同一條規則會補回來。 */ /* 手機瀏覽器動態工具列的正確高度 */
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: 1.7;
  background-color: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
}

.cf-site h1{ font-size: var(--fs-h1); line-height: 1.2; }
.cf-site h2{ font-size: var(--fs-h2); line-height: 1.25; }
.cf-site h3{ font-size: var(--fs-h3); line-height: 1.3; }

.cf-site h1, .cf-site h2, .cf-site h3{
  margin-bottom: var(--space-3);
  font-weight: 700;
  text-wrap: balance; /* 標題換行更平均 */
}

.cf-site p{
  margin-bottom: var(--space-3);
  max-width: 70ch; /* 可讀行長上限 */
}

.cf-site a{
  color: var(--color-primary);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.cf-site a:hover{
  color: var(--color-primary-hover);
}

.cf-site :focus-visible{
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* ==========================================================================
   4. 版面容器 / 格線
   ========================================================================== */
.cf-site .container{
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.cf-site .section{
  padding-block: var(--space-6);
}

/* 自動換行格線：欄寬不足 260px 就自動掉到下一行，不需要寫 media query */
.cf-site .grid{
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
}

/* 固定欄數版本（配合下方斷點使用） */
.cf-site .grid--2,
.cf-site .grid--3,
.cf-site .grid--4{
  display: grid;
  gap: var(--space-4);
  grid-template-columns: 1fr; /* 手機一律單欄 */
}

.cf-site .flex{
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

/* ==========================================================================
   5. 共用元件（兩頁以上會用到的都放這裡）
   --------------------------------------------------------------------------
   5-1 HEADER           5-2 BANNER（首頁）     5-3 PRODUCT HERO（產品頁）
   5-4 FEATURE SCROLL   5-5 SHOWCASE           5-6 WIDE VISUAL
   5-7 FEATURE SPLIT    5-8 PERFORMANCE        5-9 SPEC TABLE
   5-10 產品區塊         5-11 卡片               5-12 CTA
   5-13 FOOTER
   ========================================================================== */

/* --------------------------------------------------------------------------
   5-1. HEADER
   -------------------------------------------------------------------------- */
.cf-site .site-header{
  position: sticky;
  top: 0;
  z-index: 100;              /* 要比所有區塊內容都高，不然會被蓋住 */
  height: var(--header-h);   /* 固定 header 高度，值在第 1 節 */
  padding-block: var(--space-1);
  border-bottom: 1px solid var(--header-border);
  background-color: var(--header-bg);
  color: var(--header-text);
}

/* ★ 2026-09-03：避開 WordPress 管理列。
   登入後最上面那條工具列是 position: fixed、高 32px、z-index 99999，
   header 是 sticky top:0，捲動時上半部 32px 會被它壓住。
   ※ 只有登入者會遇到，訪客沒有管理列，header 本來就是完整的。
   ※ body.admin-bar 是 WordPress 登入時才加的 class，對訪客沒作用。
   ※ 高度用 WordPress 提供的變數（手機版是 46px）。 */
body.admin-bar .cf-site .site-header{
  top: var(--wp-admin--admin-bar--height, 0px);
}

/* 兩端對齊：Logo 貼 container 左緣、導覽貼右緣，中間自動留白。
   （原本是 grid 三格「左 Logo｜中導覽｜右按鈕」，按鈕拿掉後導覽會變成偏中間，
     所以改成 flex + space-between。左右的內縮由 .container 的 max-width 決定，
     跟全站其他區塊共用同一條對齊線。） */
.cf-site .site-header .container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: var(--space-3);
}

/* Logo：SVG 原始尺寸 217 x 34，靠 height 縮放（width 自動等比）。
   ※ 這個 SVG 的 12 條路徑全部是 fill="white"，所以 header 底色必須是深色。 */
.cf-site .site-header__logo{
  flex-shrink: 0;          /* 不准被導覽擠扁 */
  display: flex;
  align-items: center;
}

.cf-site .site-header__logo img{
  height: 24px;            /* ← Logo 大小只改這一個數字 */
  width: auto;
}

/* 導覽本體。
   手機：整組收在漢堡裡，展開後是一片蓋在 header 下方的滿寬面板（手風琴）。
   平板以上：回到水平一列、下拉改成浮動面板 —— 見第 8 節斷點。 */
.cf-site .nav{
  display: none;                    /* 手機預設收起來 */
  position: absolute;
  top: 100%;                        /* 貼在 header 底下（.site-header 是 sticky，
                                       本身就是定位基準，不用另外設 position） */
  left: 0;
  right: 0;
  padding: var(--space-3) var(--gutter) var(--space-4);
  background-color: var(--header-bg);
  border-bottom: 1px solid var(--header-border);
  /* 選項多到超過一螢幕時面板自己捲，不會把整頁撐長 */
  max-height: calc(100vh - var(--header-h));
  max-height: calc(100dvh - var(--header-h));
  overflow-y: auto;
}

/* 漢堡打開 → 面板出現。狀態的唯一來源是按鈕的 aria-expanded（見下方說明） */
.cf-site .site-header__toggle[aria-expanded="true"] + .nav{
  display: block;
}

.cf-site .nav__list{
  display: flex;
  flex-direction: column;           /* 手機直排 */
}

/* 連結和按鈕長得一樣 —— 有下拉的項目是 <button>，沒下拉的是 <a>，
   但視覺上不該有差別，所以樣式寫在一起。
   （button 的 font / color 已經在第 2 節 Reset 繼承過了，這裡只要拿掉外框和底色） */
.cf-site .nav a,
.cf-site .nav button{
  display: flex;
  align-items: center;
  width: 100%;
  padding-block: var(--space-2);    /* 手機的觸控高度 */
  /* 這行是必要的，不是為了美觀：Chrome 給 <button> 的預設 padding-inline 是 6px，
     只寫 padding-block 蓋不掉它，於是有下拉的項目（<button>）會比沒下拉的（<a>）
     往右偏 6px —— 面板裡的 Case Fan 就是這樣跟 Holo float / zephyr 對不齊的。 */
  padding-inline: 0;
  border: 0;
  background: none;
  text-align: left;
  text-decoration: none;
  color: inherit; /* 跟著 .site-header 的 --header-text 走，不自己指定顏色 */
  opacity: 0.85;
  transition: opacity 0.2s ease;
  font-size: 0.9375rem;
  cursor: pointer;
}

.cf-site .nav a:hover,
.cf-site .nav button:hover{
  color: inherit;
  opacity: 1; /* 深色 header 上用透明度做 hover，比換色安全 */
}

/* 第一層（header bar 上那一排）的字級與字重。
   只套 .nav__link，所以「下拉面板裡的項目」不受影響，維持 0.9375rem。
   要讓面板內也一起變大，把這兩行複製到 .nav__menu a / .nav__menu button 上。 */
.cf-site .nav__link{
  font-size: 1.25rem;   /* ← 20px */
  font-weight: 700;     /* ← 粗體 */
}

/* 小三角。兩層都固定方向，不隨開合狀態改變（第一層維持朝下 ▾，第二層朝右 ▸）。 */
.cf-site .nav__caret{
  margin-left: auto;                /* 手機：推到最右邊 */
  padding-left: 0.6em;
  /* ← 三角形大小。用的是 U+25BC (▼) / U+25B6 (▶) 標準尺寸字元；
     不要換成 U+25BE / U+25B8，那兩個是 Unicode 的「small」變體，
     再乘上這個倍率就會縮成一個看不見的點。
     用 calc(0.6em + 3px) 而不是直接調大 em 倍率，是因為這個 class 同時用在
     header 那排（20px 字級）和面板裡的 Case Fan（15px 字級）兩種情境，
     兩邊的字級不一樣、0.6em 算出來的 px 也不一樣 —— 用 + 3px 才能保證
     「兩邊都比原本大 3px」，而不是兩邊放大的量不一樣。 */
  font-size: calc(0.6em + 3px);
  line-height: 1;
}

/* ---- 下拉面板 ---------------------------------------------------------------
   **開合狀態的唯一來源是觸發按鈕的 `aria-expanded`。**
   CSS 直接讀那個屬性決定顯示與否，JS 只負責切換它 —— 不用額外的 class，
   而且「螢幕閱讀器看到的狀態」和「眼睛看到的狀態」不可能不同步。

   選擇器用相鄰兄弟 `+`，所以 HTML 裡面板**必須緊接在按鈕後面**，中間不能插東西。

   手機：面板照文件流往下推開（手風琴），只用左邊內距做層級縮排。
   平板以上：改成浮動面板 —— 見第 8 節斷點。
   ---------------------------------------------------------------------------- */
.cf-site .nav__menu,
.cf-site .nav__submenu{
  display: none;
}

.cf-site button[aria-expanded="true"] + .nav__menu,
.cf-site button[aria-expanded="true"] + .nav__submenu{
  display: block;
}

.cf-site .nav__menu{
  padding-left: var(--space-3);     /* ← 手機的層級縮排 */
}

.cf-site .nav__submenu{
  padding-left: var(--space-3);
}

/* ---- 漢堡按鈕（只有手機看得到，≥768px 在第 8 節隱藏）---- */
.cf-site .site-header__toggle{
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-right: calc(var(--space-2) * -1);  /* 視覺上對齊 container 右緣
                                               （按鈕的觸控範圍比圖示大） */
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
}

/* 兩個圖示疊在同一個位置，靠 aria-expanded 決定顯示哪一個 */
.cf-site .site-header__toggle[aria-expanded="false"] .site-header__toggle-icon--close,
.cf-site .site-header__toggle[aria-expanded="true"] .site-header__toggle-icon--open{
  display: none;
}



/* --------------------------------------------------------------------------
   5-13. FOOTER（全站）
   --------------------------------------------------------------------------
   2026-09-03 手寫版，取代原本 Elementor 主題建構器做的那一份。
   規格是照舊版量出來的，刻意做到視覺一致：

     底色      #a3a3a3
     字體      Noto Sans（跟全站同一支，變數在第 1 節）
     欄標題    18px / 600
     欄項目    18px / 400 / 行高 20px
     底部列    15px / 600
     左右內距  64px（桌機）

   ★ 跟舊版的差異只有一個：右邊的多國語言切換器整個拿掉（使用者指示）。
     欄位位置沒有跟著往右擴，所以右側是刻意留白的。

   ★ Product 欄維持「只有標題、沒有項目」—— 舊版就是這樣（項目寫在 HTML 裡
     但渲染寬高都是 0，等於沒顯示）。使用者確認不補回來。
   -------------------------------------------------------------------------- */
.cf-site .site-footer{
  background: var(--footer-bg);
  color: var(--footer-text);
  font-family: var(--font-sans);
  padding-inline: var(--footer-gutter);
}

/* ---- 上半部：Logo + 四個選單欄 ---- */
.cf-site .site-footer__top{
  display: grid;
  grid-template-columns: 1fr;        /* 手機：單欄堆疊 */
  gap: var(--space-4);
  padding-block: 31px 23px;          /* 照舊版量出來的值 */
}

.cf-site .site-footer__logo img{
  display: block;
  width: 143px;
  height: auto;
}

/* 欄標題。用 <p> 不是 <h2>：footer 的欄名不是文件大綱的一部分，
   放標題標籤會干擾螢幕閱讀器的標題導覽和 SEO 的標題結構。 */
.cf-site .site-footer__heading{
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 600;
  line-height: 18px;
  color: inherit;
}

.cf-site .site-footer__list{
  margin: 0;
  padding: 0;
  list-style: none;
}

.cf-site .site-footer__list li + li{
  margin-top: 12px;
}

.cf-site .site-footer__list a{
  font-size: 18px;
  font-weight: 400;
  line-height: 20px;
  color: inherit;
  text-decoration: none;
}

.cf-site .site-footer__list a:hover,
.cf-site .site-footer__list a:focus-visible{
  text-decoration: underline;
}

/* ---- 社群圖示 ---- */
.cf-site .site-footer__social{
  display: flex;
  gap: 22px;
  margin: 0;
  padding: 0 0 24px;
  list-style: none;
}

.cf-site .site-footer__social a{
  display: inline-flex;
  color: inherit;
}

/* SVG 用 currentColor 填色，所以顏色跟著上面的 color 走，不用個別設定 */
.cf-site .site-footer__social svg{
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* ---- 底部列 ----
   2026-09-03 依舊版實際量測值修正：
     Global headquarters      18px / 400
     California, USA + 地址   15px / 300（細字，刻意壓低視覺份量）
     Warranty / Privacy       15px / 600
     Copyright 2024           14px / 300
     COOLIFY                  14px / 500
   桌機一行排完；空間不夠時（手機）才允許換行。 */
.cf-site .site-footer__bottom{
  display: flex;
  flex-wrap: wrap;
  gap: 10px var(--space-4);
  align-items: baseline;
  justify-content: space-between;
  padding-block: 18px 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  line-height: 1.2;
}

.cf-site .site-footer__hq{
  display: flex;
  flex-wrap: nowrap;      /* ★ 整串一行排完，不斷行（手機版斷點另外放寬） */
  white-space: nowrap;
  gap: 6px 18px;
  align-items: baseline;
  margin: 0;
  font-size: 15px;
  font-weight: 300;
}

/* 「Global headquarters」比後面的地址大一號、字重正常，跟地址中間空 42px */
.cf-site .site-footer__hq-title{
  font-size: 18px;
  font-weight: 400;
  margin-right: 24px;   /* 18px gap + 24px = 42px，照舊版量的 */
}

.cf-site .site-footer__legal{
  display: flex;
  flex-wrap: wrap;
  gap: 6px 38px;        /* 舊版三個項目之間都是 38px */
  align-items: baseline;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 15px;
  font-weight: 600;
}

.cf-site .site-footer__legal a{
  color: inherit;
  text-decoration: none;
}

.cf-site .site-footer__legal a:hover,
.cf-site .site-footer__legal a:focus-visible{
  text-decoration: underline;
}

.cf-site .site-footer__copy{
  font-size: 14px;
  font-weight: 300;
}

.cf-site .site-footer__copy strong{
  font-weight: 500;
}



/* ---- sm：≥ 480px ---- */
@media (min-width: 480px) {
  .cf-site{
    --gutter: var(--space-4);
  }
}

/* ---- md：≥ 768px ---- */


/* ---- 手機（< 768px）：地址那一串太長，允許斷行 ---- */
@media (max-width: 767.98px) {
  .cf-site .site-footer__hq{
    flex-wrap: wrap;
    white-space: normal;
  }
}

/* ---- md：≥ 768px（Header：導覽變水平、下拉變浮動面板）---- */
@media (min-width: 768px) {
  .cf-site{
    --gutter: var(--space-5);
  }

  /* ---- HEADER：導覽回到水平一列，下拉變成浮動面板 ---- */

  /* 漢堡收起來，導覽永遠顯示（不再由 aria-expanded 控制） */
  .cf-site .site-header__toggle{
    display: none;
  }

  .cf-site .nav,
  .cf-site .site-header__toggle[aria-expanded="true"] + .nav{
    display: block;
    position: static;               /* 回到文件流，不再是蓋在下面的面板 */
    align-self: stretch;            /* 撐滿 header 高度，讓下拉的 top:100% 對到 header 底部 */
    padding: 0;
    border: 0;
    background: none;
    max-height: none;
    overflow: visible;              /* 浮動面板要能超出邊界 */
  }

  .cf-site .nav__list{
    flex-direction: row;
    align-items: stretch;
    height: 100%;
    gap: var(--space-5);            /* ← 選項之間的距離 */
  }

  /* 每一項撐滿 header 高度 → 下拉面板的 top: 100% 才會落在 header 底部，
     而且滑鼠移到選項上下方的空白也還算在觸發範圍內 */
  .cf-site .nav__item{
    position: relative;             /* 下拉面板的定位基準 */
    display: flex;
    align-items: center;
  }

  .cf-site .nav a,
  .cf-site .nav button{
    width: auto;
    padding-block: 0;
    white-space: nowrap;            /* 導覽項目不換行 */
  }

  .cf-site .nav__caret{
    margin-left: 0;                 /* 桌機不需要推到最右邊，緊跟文字就好 */
    padding-left: 0.4em;
  }

  /* 第一層面板：左緣對齊觸發項目的左緣（設計稿是這樣） */
  .cf-site .nav__menu{
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    min-width: 11rem;
    padding: var(--menu-pad);
    margin-top: var(--menu-gap);    /* ← 離 header 的距離（實際空隙見第 1 節的說明） */
    border-radius: var(--radius);
    background-color: var(--header-bg);
  }

  .cf-site .nav__sublist{
    display: flex;
    flex-direction: column;
  }

  .cf-site .nav__subitem{
    position: relative;             /* 第二層的定位基準 */
  }

  /* 第二層：往右飛出。
     top 往上退一個 --menu-pad，是為了讓第一項的第二層剛好跟第一層面板「頂端對齊」
     （設計稿就是這個效果）；第二、三項則會出現在自己那一列稍微偏上的位置。
     left 要跨過「這一列的寬度 + 面板的右內距 + 兩塊面板之間的縫」才會落在面板外面。 */
  .cf-site .nav__submenu{
    position: absolute;
    top: calc(var(--menu-pad) * -1);
    left: calc(100% + var(--menu-pad) + var(--menu-gap));
    min-width: 10rem;
    padding: var(--menu-pad);
    border-radius: var(--radius);
    background-color: var(--header-bg);
  }

  /* hover 展開的必要配套 ——
     面板與 header 之間、兩塊面板之間都有「看得見的空隙」，那段空隙不屬於任何元素，
     滑鼠穿過去就會觸發 mouseleave 把選單關掉（選單會在半路上消失、很難點中）。
     解法：用一個**透明的 ::before** 把空隙補成面板自己的一部分，
     滑鼠在視覺上雖然走在空白處，但實際上一直待在面板裡面，hover 不會中斷。
     這兩塊是純粹的滑鼠命中區，沒有任何視覺效果。 */
  .cf-site .nav__menu::before{
    content: "";
    position: absolute;
    top: calc(var(--menu-gap) * -1);   /* 往上補到 header 底部 */
    left: 0;
    right: 0;
    height: var(--menu-gap);
  }

  .cf-site .nav__submenu::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    /* 往左補回第一層的右內距 + 兩塊面板之間的縫，跟 left 的算式對應 */
    left: calc((var(--menu-pad) + var(--menu-gap)) * -1);
    width: calc(var(--menu-pad) + var(--menu-gap));
  }

  /* 面板內的每一列：拿掉手機的縮排，改用列的上下內距做行距 */
  .cf-site .nav__menu a,
  .cf-site .nav__menu button{
    padding-block: var(--space-2);
  }

  /* ---- FOOTER：Logo + 四欄橫排 ----
     欄寬是照舊版量出來的實際位置反推的（內距 64px 起算）：
       Logo 267px → Product 112px → Solution 184px → Support 184px → Where to buy
     最後一欄之後的 1fr 是刻意留白的地方（原本是多國語言切換器，已拿掉）。 */
  .cf-site .site-footer{
    --footer-gutter: 64px;
  }

  .cf-site .site-footer__top{
    grid-template-columns: 267px 112px 184px 184px 1fr;
    gap: 0;
  }
}


/* ---- xl：≥ 1280px ---- */
@media (min-width: 1280px) {
  .cf-site{
    --gutter: var(--space-6);
  }
}

/* ---- 列印 ---- */

/* ---- 列印 ---- */
@media print {
  .cf-site .site-header,
  .cf-site .site-footer,
  .cf-site .btn{
    display: none;
  }

  .cf-site{
    background: #fff;
    color: #000;
  }
}