/* ============================================================
   睦星电子 · 全局设计令牌与组件归一化层 v1.0（mx-tokens.css）
   规范：间距刻度 4/8/12/16/24/32 · 固定字体层级 · 卡片统一 ·
         按钮四类型×三规格×四态 · 等高网格布局
   引入：ahmxd-header.php 末位（全站生效，!important 用于压过页内散样式）
   ============================================================ */

:root{
  /* ---- 一、间距刻度（唯一合法值源） ---- */
  --sp-1:4px;   --sp-2:8px;   --sp-3:12px;  --sp-4:16px;
  --sp-6:24px;  --sp-8:32px;
  /* 节奏组合值（由刻度推导，非新增刻度） */
  --sp-section:calc(var(--sp-8) * 2);        /* 64 区块纵向节奏 */
  --sp-section-sm:var(--sp-8);               /* 32 紧凑区块 */
  --sp-page-x:2.5%;                          /* 全屏左右留白（全屏规范） */

  /* ---- 二、字体层级（固定五档，禁止随意字号） ---- */
  --font-sans:'Inter','Noto Sans SC',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;
  --fs-page-title:26px;   /* 页面大标题 */
  --fs-card-title:16px;   /* 卡片标题 */
  --fs-body:13px;         /* 正文 */
  --fs-aux:12px;          /* 辅助小字 */
  --fs-hint:11px;         /* 提示文案 */
  --fs-num-stat:26px;     /* 统计数字（数字层级） */
  --lh-title:1.4;         /* 标题行高 */
  --lh-body:1.7;          /* 正文/卡片内文本行高（统一） */
  --lh-tight:1.5;         /* 紧凑文本行高 */

  /* ---- 三、文字色彩体系 ---- */
  --tc-1:#122a42;         /* 主文本 */
  --tc-2:#4f6780;         /* 次要文本 */
  --tc-3:#6d8399;         /* 辅助文本 */
  --tc-hint:#8ea3b8;      /* 提示/占位 */
  --tc-link:#1d6fe0;      /* 链接/文字按钮 */
  --tc-link-hover:#0891b2;
  --tc-danger:#dc2626;
  --tc-on-primary:#fff;

  /* ---- 四、卡片统一令牌 ---- */
  --card-bg:#fff;
  --card-radius:14px;
  --card-border:1px solid #dfeaf5;
  --card-shadow:0 6px 18px rgba(23,64,124,.07);
  --card-shadow-hover:0 18px 40px rgba(23,64,124,.13);
  --card-pad:var(--sp-6);          /* 24 卡片内边距 */
  --card-pad-sm:var(--sp-4);       /* 16 图片卡内容区 */
  --card-gap:var(--sp-4);          /* 16 卡片间隙 */

  /* ---- 五、按钮统一令牌 ---- */
  --btn-radius:10px;
  --btn-h-lg:48px; --btn-h-md:40px; --btn-h-sm:32px;
  --btn-px-lg:var(--sp-8); --btn-px-md:var(--sp-6); --btn-px-sm:var(--sp-4);
  --btn-primary-bg:linear-gradient(135deg,#1d6fe0,#0891b2);
  --btn-primary-bg-hover:linear-gradient(135deg,#2b7ce8,#0da2c4);
  --btn-primary-shadow:0 6px 18px rgba(29,111,224,.32);
  --btn-secondary-border:1.5px solid #1d6fe0;
  --btn-secondary-color:#0c47a5;
  --btn-secondary-bg-hover:#f2f7fe;
  --btn-danger-bg:linear-gradient(135deg,#ef4444,#dc2626);
  --btn-danger-shadow:0 6px 18px rgba(220,38,38,.32);
  --btn-focus-ring:0 0 0 3px rgba(29,111,224,.18);
}

/* ============================================================
   二、字体与文字归一化
   ============================================================ */
body, button, input, select, textarea { font-family:var(--font-sans)!important; }

/* 页面大标题 */
.page-hero h1,.mx-page-hero h1,.cat-hero h1,.svc-hero h1,.inv-hero h1,.tech-hero h1,
.cse-hero h1,.mxp-sec-title,.section-title{
  font-size:var(--fs-page-title)!important; line-height:var(--lh-title)!important;
  letter-spacing:-.3px!important; color:var(--tc-1)!important;
}
.page-hero p,.mx-page-hero p,.svc-hero p,.inv-hero p,.tech-hero p,.cse-hero p,
.mxp-sec-sub,.section-desc{ font-size:var(--fs-aux)!important; line-height:var(--lh-tight)!important; color:var(--tc-3)!important; }

/* 卡片标题（全站统一 16/1.4） */
.svc-block h2,.value-title,.brand-partner-name,.tech-card h3,.news-card-title,
.mxp-news-title,.mxp-cat-name,.mxp-ind-name,.mxp-hot-name,.cse-name,.cse-title,
.mx-hero-card-title,.contact-info-card h3,.inquiry-info-card h3,.dl-card h3,
.series-card-name,.prod-section-title,.cat-series-title{
  font-size:var(--fs-card-title)!important; line-height:var(--lh-title)!important; color:var(--tc-1)!important;
}
.svc-block h2 small,.cat-hero-title + small{ font-size:var(--fs-aux)!important; color:var(--tc-3)!important; line-height:var(--lh-tight)!important; }

/* 卡片正文（统一 13/1.7，消除松紧不一） */
.svc-block p,.value-desc,.brand-partner-desc,.tech-card p,.news-card-excerpt,
.cse-desc,.mxp-cat-desc,.mxp-ind-desc,.mxp-svc-desc,.mxp-hot-name ~ *,
.inquiry-info-card p,.contact-info-card p,.dl-card p,.case-detail dd,
.mx-hero-card-sub,.mxp-hot-brand,.mxp-brand-en,.mxp-brand-count{
  font-size:var(--fs-body)!important; line-height:var(--lh-body)!important;
}
/* 辅助小字 */
.svc-sub,.cse-sub,.mxp-cat-meta,.mxp-hot-count,.news-card-date,.mxp-news-cat,
.tech-tag,.svc-tag,.mxp-ind-tag,.mxp-hot-tag + *,.breadcrumb,.mx-breadcrumb{
  font-size:var(--fs-aux)!important; line-height:var(--lh-tight)!important;
}
/* 提示文案/占位 */
.mx-hero-form-tip,.mxp-quote-tip,.footer-desc,.empty-desc,.tech-download small{
  font-size:var(--fs-hint)!important; line-height:var(--lh-tight)!important; color:var(--tc-hint)!important;
}
input::placeholder,textarea::placeholder{ color:var(--tc-hint)!important; font-size:var(--fs-body)!important; }

/* 卡片内部所有文本行高兜底统一 */
.mxp-cat-card,.mxp-ind-card,.mxp-brand-card,.mxp-hot-card,.mxp-svc-card,.mxp-news-card,
.cse-card,.svc-block,.value-card,.intro-card,.brand-partner-card,.news-card,.tech-card{
  line-height:var(--lh-body)!important;
}

/* ============================================================
   一、卡片归一化（背景/圆角/描边/内边距/等高）
   ============================================================ */
/* 内容型卡片：统一四件套 + 内边距 24 */
.value-card,.brand-partner-card,.tech-card,.svc-block,.contact-info-card,
.inquiry-info-card,.mx-contact-card,.mx-hero-card,.intro-card{
  background:var(--card-bg)!important;
  border-radius:var(--card-radius)!important;
  border:var(--card-border)!important;
  box-shadow:var(--card-shadow)!important;
  padding:var(--card-pad)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.value-card:hover,.brand-partner-card:hover,.tech-card:hover,.svc-block:hover,
.contact-info-card:hover,.inquiry-info-card:hover,.mx-hero-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:var(--card-shadow-hover)!important;
  border-color:#1d6fe0!important;
}
/* 图片型卡片：统一圆角/描边/阴影（保留各自内容布局，内容边距归 16/24 刻度） */
.mxp-cat-card,.mxp-ind-card,.mxp-brand-card,.mxp-hot-card,.mxp-news-card,
.news-card,.cse-card,.series-card-page{
  background:var(--card-bg)!important;
  border-radius:var(--card-radius)!important;
  border:var(--card-border)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.mxp-cat-card:hover,.mxp-ind-card:hover,.mxp-brand-card:hover,.mxp-hot-card:hover,
.mxp-news-card:hover,.news-card:hover,.cse-card:hover{
  transform:translateY(-4px)!important;
  border-color:#1d6fe0!important;
  box-shadow:var(--card-shadow-hover)!important;
}

/* 卡片网格：统一 gap=16 + 等高（行等高 + 子项拉伸） */
.mxp-cat-grid,.mxp-ind-grid,.mxp-brand-grid,.mxp-hot-grid,.mxp-svc-grid,.mxp-news-grid,
.news-grid,.cse-grid,.values-grid,.brands-partner,.tech-grid,.svc-grid,.mx-cat-grid,
.mx-brand-wrap,.mx-hot-grid,.series-grid-page,.cat-card-grid{
  gap:var(--card-gap)!important;
  align-items:stretch!important;
}
.svc-grid,.tech-grid,.values-grid,.brands-partner{ grid-auto-rows:1fr!important; }

/* 等高兜底：网格内卡片拉满行高 */
.mxp-cat-grid > *,.mxp-ind-grid > *,.mxp-brand-grid > *,.mxp-hot-grid > *,
.mxp-svc-grid > *,.mxp-news-grid > *,.news-grid > *,.cse-grid > *,.values-grid > *,
.brands-partner > *,.tech-grid > *,.svc-grid > *{ height:100%!important; box-sizing:border-box!important; }

/* 品牌卡描述定行，消除参差 */
.brand-partner-desc{ display:-webkit-box!important; -webkit-line-clamp:2!important; -webkit-box-orient:vertical!important; overflow:hidden!important; }

/* 区块纵向节奏统一：模块标题与卡片区间距 */
.mxp-section{ padding:var(--sp-section) 0!important; }
.mxp-sec-head{ margin-bottom:var(--sp-8)!important; }
.section{ padding:calc(var(--sp-section)) var(--sp-6)!important; }
.section-header{ margin-bottom:var(--sp-8)!important; }
@media(max-width:768px){
  .mxp-section{ padding:var(--sp-8) 0!important; }
  .section{ padding:var(--sp-6) var(--sp-4)!important; }
}

/* ============================================================
   四、按钮统一体系（三规格 × 四类型 × 四态）
   ============================================================ */
/* 基类归一：所有动作按钮 */
.mx-btn,.mx-btn-primary,.mx-btn-accent,.mx-btn-outline,.mxp-btn-accent,.mxp-btn-ghost,
.cse-cta,.case-cta,.svc-cta,.tech-download,.ahmxd-submit-btn,.form-submit,.btn-primary,
.btn-outline,.button-primary,.product-inquiry-btn,.mx-nav-cta,.mx-quick-inquiry,
.mx-search button,.mxp-quote-submit,.mxp-search button{
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  gap:var(--sp-2)!important; box-sizing:border-box!important;
  font-family:var(--font-sans)!important; font-size:var(--fs-body)!important; font-weight:600!important;
  line-height:1!important; white-space:nowrap!important; text-decoration:none!important; cursor:pointer!important;
  border:none!important; vertical-align:middle!important;
  height:var(--btn-h-md)!important; padding:0 var(--btn-px-md)!important; border-radius:var(--btn-radius)!important;
  transition:filter .2s ease,transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}

/* 主按钮（蓝青渐变） */
.mx-btn-primary,.mx-btn-accent,.mxp-btn-accent,.cse-cta,.case-cta,.svc-cta,
.ahmxd-submit-btn,.form-submit,.btn-primary,.button-primary,.product-inquiry-btn,
.mx-nav-cta,.mx-quick-inquiry,.mxp-quote-submit,.mx-search button,.mxp-search button{
  background:var(--btn-primary-bg)!important; color:var(--tc-on-primary)!important;
  box-shadow:var(--btn-primary-shadow)!important;
}
/* 次要按钮（白底蓝边） */
.mx-btn-outline,.btn-outline,.mxp-btn-ghost,.tech-download,.mx-btn-reset{
  background:#fff!important; color:var(--btn-secondary-color)!important;
  border:var(--btn-secondary-border)!important; box-shadow:none!important;
}
/* 文字按钮 */
.mx-btn-text,.cse-link,.mxp-sec-more,.mxp-hot-inq{ font-size:var(--fs-aux)!important; line-height:var(--lh-tight)!important; }
/* 危险按钮（供删除类操作使用） */
.mx-btn-danger{
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  gap:var(--sp-2)!important; height:var(--btn-h-md)!important; padding:0 var(--btn-px-md)!important;
  border-radius:var(--btn-radius)!important; font-size:var(--fs-body)!important; font-weight:600!important; line-height:1!important;
  background:var(--btn-danger-bg)!important; color:#fff!important; border:none!important; cursor:pointer!important;
  transition:filter .2s ease,transform .2s ease,box-shadow .2s ease!important;
  box-shadow:var(--btn-danger-shadow)!important;
}

/* 大号规格（Hero/CTA 横幅） */
.mxp-quote-submit,.mxp-cta .mxp-btn-accent{ height:var(--btn-h-lg)!important; padding:0 var(--btn-px-lg)!important; font-size:var(--fs-card-title)!important; }
/* 小号规格（表格/行内） */
.product-inquiry-btn,.mx-btn-reset{ height:var(--btn-h-sm)!important; padding:0 var(--btn-px-sm)!important; font-size:var(--fs-aux)!important; }
/* 头部搜索按钮图标化尺寸 */
.mx-search button{ width:var(--btn-h-md)!important; padding:0!important; font-size:0!important; }
.mx-search button i{ font-size:var(--fs-body)!important; }

/* 四态（全站统一） */
.mx-btn:hover,.mx-btn-primary:hover,.mx-btn-accent:hover,.mxp-btn-accent:hover,.cse-cta:hover,
.case-cta:hover,.svc-cta:hover,.ahmxd-submit-btn:hover,.form-submit:hover,.btn-primary:hover,
.button-primary:hover,.product-inquiry-btn:hover,.mx-nav-cta:hover,.mx-quick-inquiry:hover,
.mxp-quote-submit:hover,.mx-search button:hover,.mxp-search button:hover,.mx-btn-danger:hover{
  filter:brightness(1.08)!important; transform:translateY(-1px)!important;
}
.mx-btn-outline:hover,.btn-outline:hover,.mxp-btn-ghost:hover,.tech-download:hover,.mx-btn-reset:hover{
  background:var(--btn-secondary-bg-hover)!important; transform:translateY(-1px)!important; filter:none!important;
}
.mx-btn:active,.mx-btn-primary:active,.mx-btn-accent:active,.mxp-btn-accent:active,.cse-cta:active,
.case-cta:active,.svc-cta:active,.ahmxd-submit-btn:active,.form-submit:active,.btn-primary:active,
.button-primary:active,.product-inquiry-btn:active,.mx-nav-cta:active,.mx-quick-inquiry:active,
.mxp-quote-submit:active,.mx-search button:active,.mxp-search button:active,.mx-btn-outline:active,
.btn-outline:active,.mxp-btn-ghost:active,.tech-download:active,.mx-btn-reset:active,.mx-btn-danger:active{
  transform:translateY(0) scale(.98)!important; filter:brightness(.96)!important;
}
.mx-btn:disabled,.mx-btn-primary:disabled,.mx-btn-accent:disabled,.mxp-btn-accent:disabled,
.ahmxd-submit-btn:disabled,.form-submit:disabled,.btn-primary:disabled,.product-inquiry-btn:disabled,
.mx-btn-danger:disabled,button:disabled[style*=""],.mx-btn[disabled],.mxp-quote-submit:disabled{
  opacity:.5!important; cursor:not-allowed!important; transform:none!important; filter:grayscale(.15)!important; box-shadow:none!important;
}
.mx-btn:focus-visible,.mxp-btn-accent:focus-visible,.cse-cta:focus-visible,.form-submit:focus-visible,
.mx-btn-danger:focus-visible,.mxp-quote-submit:focus-visible{ outline:none!important; box-shadow:var(--btn-focus-ring),var(--btn-primary-shadow)!important; }

/* 按钮与周边留白统一 */
.cse-cta,.case-cta,.svc-cta{ margin-top:var(--sp-4)!important; }
.mxp-cta-actions{ gap:var(--sp-3)!important; }
.mx-hero-actions,.cse-foot{ gap:var(--sp-3)!important; }

/* ============================================================
   五、布局均衡与响应式
   ============================================================ */
/* 关于页左右均衡：右列改两行网格，第三张通栏 */
.about-intro{ align-items:stretch!important; gap:var(--sp-8)!important; }
.about-intro-visual{ display:grid!important; grid-template-columns:1fr 1fr!important; gap:var(--card-gap)!important; }
.about-intro-visual .intro-card:last-child{ grid-column:1/-1!important; }
/* 服务页单列窄轨 → 双列等高流式 */
.svc-grid{ grid-template-columns:repeat(2,1fr)!important; max-width:100%!important; gap:var(--card-gap)!important; }
.svc-grid .svc-block:last-child{ grid-column:1/-1!important; }
@media(max-width:1024px){
  .svc-grid{ grid-template-columns:1fr!important; }
  .about-intro{ grid-template-columns:1fr!important; }
}
/* 响应式换行兜底（继承各页 grid 定义，缩小时自动 1 列） */
@media(max-width:768px){
  .mxp-cta-actions a,.mx-hero-actions .mx-btn{ width:100%!important; }
}

/* 首页 Hero 左右均衡：右卡拉伸满列高，内容垂直居中 */
.mxp-hero-inner{ align-items:stretch!important; }
.mxp-quote-card{ display:flex!important; flex-direction:column!important; justify-content:center!important; }

/* ---- 响应式修复（v8.0.1 自检迭代） ---- */
/* 1200px 档：导航+搜索收窄，消除页头溢出 */
@media(max-width:1280px){
  .mx-search{ min-width:0!important; flex:1 1 180px!important; }
  .mx-nav-link{ padding:6px 10px!important; }
  .mx-nav-cta{ padding:8px var(--sp-3)!important; }
}
/* 390px 档：品牌卡允许收缩，消除网格微溢出 */
@media(max-width:768px){
  .mxp-brand-card{ min-width:0!important; padding:var(--sp-3)!important; gap:var(--sp-3)!important; }
  .mxp-brand-logo{ width:44px!important; height:44px!important; font-size:16px!important; }
  .mxp-brand-name{ white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; }
  .mxp-brand-en{ display:none!important; }
}
