/* ==========================================================================
   HN720 · Design Tokens v1.0 — 全站共享设计令牌层
   --------------------------------------------------------------------------
   作用：统一 6 主题各自为政的变量命名（nebula 用 --bg-page/--ink，aurora 用
         --bg/--text，neb-premium 用 --neb-*），为「多主题并存、各自升级」
         提供一致地基。组件统一引用 semantic 令牌，主题通过 :root / .theme-*
         覆盖来定制自身风格。
   层次：
     [Primitive] 基础刻度 — 与主题无关的原始值（色板/间距/圆角/阴影/字号/动效/断点）
     [Semantic]  语义令牌 — 组件直接引用；浅色为默认，.theme-dark 提供暗色覆盖
   引入方式：各主题 header 在「自身 style 之前」<link> 本文件（先加载=被主题覆盖，
            故不破坏任何现有视觉）。
   ========================================================================== */

/* ---------- [Primitive] 基础刻度 ---------- */
:root {
  /* 中性色板 (gray ramp) */
  --gray-0:#ffffff;  --gray-50:#fbfbfd;  --gray-100:#f5f5f7; --gray-200:#e8e8ed;
  --gray-300:#d2d2d7; --gray-400:#c7c7cc; --gray-500:#86868b; --gray-600:#6e6e73;
  --gray-700:#424245; --gray-800:#1d1d1f; --gray-900:#000000;

  /* 品牌色 (brand) */
  --brand-50:#eaf4ff;  --brand-400:#0a84ff; --brand-500:#0071e3; --brand-600:#0066cc;
  --brand-indigo:#5e5ce6;
  --brand-warm:#bf4800;   /* 寺院朱砂点缀 */
  --brand-gold:#c8a45c;   /* 佛像金 */

  /* 间距 scale (4px base) */
  --space-1:4px;  --space-2:8px;  --space-3:12px; --space-4:16px;
  --space-5:20px; --space-6:24px; --space-8:32px; --space-10:40px;
  --space-12:48px; --space-16:64px; --space-20:80px; --space-24:96px;

  /* 圆角 scale */
  --radius-sm:8px; --radius-md:12px; --radius-lg:18px; --radius-xl:24px;
  --radius-pill:999px; --radius-full:50%;

  /* 阴影 scale */
  --shadow-sm:0 1px 2px rgba(0,0,0,.06), 0 4px 12px -6px rgba(0,0,0,.08);
  --shadow-md:0 6px 24px -10px rgba(0,0,0,.14);
  --shadow-lg:0 12px 40px -12px rgba(0,0,0,.18);
  --shadow-xl:0 24px 64px -16px rgba(0,0,0,.24);

  /* 字号阶梯 (fluid) */
  --text-xs:12px;  --text-sm:14px;  --text-base:16px; --text-md:17px;
  --text-lg:20px;  --text-xl:clamp(22px,2.4vw,28px);
  --text-2xl:clamp(26px,3vw,40px);  --text-3xl:clamp(32px,4.5vw,56px);
  --text-hero:clamp(40px,7vw,88px);

  /* 动效 */
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --duration-fast:.18s; --duration-base:.25s; --duration-slow:.4s; --duration-slower:.6s;

  /* 断点 (reference, used directly in media queries) */
  --bp-sm:640px; --bp-md:768px; --bp-lg:1024px; --bp-xl:1280px;

  /* 容器 & 布局 */
  --container:1200px; --container-wide:1240px;
  --gutter:clamp(16px,4vw,40px);
  --section-y:clamp(64px,10vw,120px);
  --nav-h:56px;

  /* ---------- [Semantic] 浅色主题默认（seed: nebula/aurora 最佳值） ---------- */
  --color-bg:var(--gray-50);
  --color-bg-alt:var(--gray-100);
  --color-surface:var(--gray-0);
  --color-surface-2:var(--gray-100);
  --color-surface-hover:var(--gray-50);
  --color-text:var(--gray-800);
  --color-text-2:var(--gray-600);
  --color-text-3:var(--gray-500);
  --color-text-inv:var(--gray-50);
  --color-accent:var(--brand-500);
  --color-accent-hover:var(--brand-600);
  --color-accent-2:var(--brand-indigo);
  --color-accent-warm:var(--brand-warm);
  --color-gold:var(--brand-gold);
  --color-border:rgba(0,0,0,.08);
  --color-border-strong:rgba(0,0,0,.14);
  --shadow-card:var(--shadow-md);
  --shadow-lift:var(--shadow-lg);
  --shadow-modal:var(--shadow-xl);
  --radius:var(--radius-md);
}

/* 极光 · 纸本画廊：FAB / 共享组件走墨色而非苹果蓝 */
html.th-aurora {
  --color-bg:#f3efe6;
  --color-bg-alt:#ebe5d8;
  --color-surface:#faf7f1;
  --color-text:#1c1917;
  --color-accent:#1c1917;
  --color-accent-hover:#3a342e;
  --color-gold:#a6844a;
  --color-border:rgba(28,25,23,.08);
}

/* ---------- [Semantic] 暗色主题覆盖（nebula 深空青绿等暗色主题挂 body.theme-dark） ---------- */
.theme-dark {
  --color-bg:#0b0e14;
  --color-bg-alt:#11151d;
  --color-surface:#161b25;
  --color-surface-2:#1d2430;
  --color-surface-hover:#1d2430;
  --color-text:#e8edf4;
  --color-text-2:#9aa6b6;
  --color-text-3:#67707f;
  --color-text-inv:#0b0e14;
  --color-accent:#4ec9b0;
  --color-accent-hover:#34b79e;
  --color-accent-2:#5e5ce6;
  --color-border:rgba(255,255,255,.08);
  --color-border-strong:rgba(255,255,255,.14);
  --shadow-card:0 1px 2px rgba(0,0,0,.45), 0 8px 22px rgba(0,0,0,.35);
  --shadow-lift:0 14px 34px rgba(0,0,0,.55), 0 0 0 1px rgba(78,201,176,.35);
  --shadow-modal:0 24px 64px rgba(0,0,0,.6);
}

/* ---------- [Global Utility] Logo 规范化 ----------
   问题：各主题 logo 尺寸/比例/对比度不一致；部分主题把图片强宽高比设为不
         等于原图比例，导致拉伸变形；720mo 等出现 logo 超出 header 的情况。
   策略：在 header/nav/footer 等容器内统一约束 logo 最大高度、强制保持原
         图比例；使用 !important 是因为主题 CSS 分散且加载顺序不定。
   注意：此段只约束「图片类 logo」，不影响文字类站点标题尺寸。
   -------------------------------------------------------------------------- */
.site-header .logo img,
.site-header .header-logo img,
.navbar-brand img,
.av-brand img,
.header_m .logo img,
img.logo.logo-display,
img.logo.logo-scrolled,
.footer-logo > a > img,
.footer-logo img {
  width: auto !important;
  height: auto !important;
  max-height: 40px !important;
  object-fit: contain !important;
  vertical-align: middle !important;
}

/* 共享品牌 logo 兜底（被多处以 100px / 50% / inline 样式引用，
   容易在 passport/会员中心/页脚等地方变得过大或变形） */
img[src*="/static/images/logo.png"] {
  width: auto !important;
  height: auto !important;
  max-width: 120px !important;
  max-height: 40px !important;
  object-fit: contain !important;
}

/* footer 中共享 logo 进一步收紧 */
.footl img[src*="/static/images/logo.png"],
.footer img[src*="/static/images/logo.png"],
footer img[src*="/static/images/logo.png"] {
  max-height: 32px !important;
  max-width: 80px !important;
}

/* 防止 inline style 中 padding-top 把 logo 顶出容器 */
.navbar-brand img,
.av-brand img {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
