/*
Theme Name: Youjinci Astra Child
Theme URI: https://youjinci.cn/
Description: 优金瓷站点子主题。设计令牌与组件样式、JSON-LD、静态面包屑、页脚、robots.txt 过滤、llms.txt 输出。
Author: 上海优金复合新材料有限公司
Author URI: https://youjinci.cn/
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

/* ============================================================
   优金瓷 Astra 子主题样式
   P0/P1 设计系统：1 主色（深墨）+ 1 强调色（铜橙，占画面 ≤5%）+ 4 级中性灰 + 8 级字阶
   所有页面正文只写 class，不写行内样式。
   改色只需改下面 :root 里的三个变量。
   ============================================================ */

:root{
  /* —— 主色：深墨（大面积底色/标题） —— */
  --yj-ink:#0C1D26;
  --yj-ink-2:#16323F;          /* 次级深色，用于渐变收口 */
  --yj-ink-3:#22414F;

  /* —— 强调色：铜橙（只用于数值、按钮、当前步骤，占比 ≤5%） —— */
  --yj-accent:#E0A438;
  --yj-accent-ink:#7A5410;     /* 强调色文字版，保证对比度 */
  /* 备选强调色（换科技冷调时只改这两行）：
     --yj-accent:#3FB6C6;  --yj-accent-ink:#0C4E58; */

  /* —— 4 级中性灰 —— */
  --yj-g50:#F5F7F8;   /* 段落浅底 */
  --yj-g100:#E6EBEE;  /* 分隔线 / 表格斑马 */
  --yj-g400:#8A979E;  /* 次要文字 */
  --yj-g700:#39494F;  /* 正文 */

  /* —— 语义色 —— */
  --yj-text:#15242B;
  --yj-text-soft:#56666D;
  --yj-line:#DCE3E6;
  --yj-bg:#FFFFFF;
  --yj-bg-alt:#F5F7F8;

  /* —— 8 级字阶（clamp 兼顾移动端） —— */
  --yj-fs-1:clamp(32px,4.4vw,56px);   /* 首屏主张 */
  --yj-fs-2:clamp(26px,3vw,40px);     /* 区块大标题 */
  --yj-fs-3:clamp(22px,2.2vw,28px);   /* 卡片标题 / 大数字 */
  --yj-fs-4:22px;                     /* 小标题 */
  --yj-fs-5:18px;                     /* 导语 */
  --yj-fs-6:16px;                     /* 正文 */
  --yj-fs-7:14px;                     /* 辅助说明 */
  --yj-fs-8:12px;                     /* 标签 / 脚注 */

  --yj-font-cn:"Source Han Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --yj-font-num:"DIN Alternate","Roboto Mono",ui-monospace,"SF Mono",Consolas,monospace;

  --yj-wrap:1180px;
  --yj-radius:2px;                    /* 工业风：直角优先 */
  --yj-shadow:0 1px 0 var(--yj-line);
}

/* ---------- 基础 ---------- */
body.page .yj-section{font-family:var(--yj-font-cn);color:var(--yj-text);}
.yj-wrap{max-width:var(--yj-wrap);margin:0 auto;padding:0 24px;}
.yj-section{padding:72px 0;}
.yj-section--tight{padding:48px 0;}
.yj-section--alt{background:var(--yj-bg-alt);}
.yj-section--ink{background:var(--yj-ink);color:#fff;}
.yj-section--ink .yj-h2,.yj-section--ink h2{color:#fff;}
.yj-section--line{border-top:1px solid var(--yj-line);}

/* 隐藏 Astra 自带的页面标题（页面正文里已有唯一的 H1）
   若 functions.php 里的 astra_the_title_enabled 过滤器生效，这条不会起作用，保留作兜底。
   !important 是为了压住 Astra 的 .ast-article-single .entry-header 规则。 */
body.page .entry-header,body.page h1.entry-title{display:none!important;}

/* ---------- 标题体系 ---------- */
h1.yj-h1{font-size:var(--yj-fs-1);line-height:1.18;letter-spacing:-.01em;margin:0 0 14px;font-weight:700;color:#fff;}
.yj-h2{font-size:var(--yj-fs-2);line-height:1.25;margin:0 0 10px;font-weight:700;color:var(--yj-ink);}
.yj-h3{font-size:var(--yj-fs-4);line-height:1.35;margin:0 0 8px;font-weight:600;color:var(--yj-ink);}
.yj-kicker{font-size:var(--yj-fs-8);letter-spacing:.18em;text-transform:uppercase;color:var(--yj-accent-ink);margin:0 0 10px;font-weight:600;}
.yj-section--ink .yj-kicker{color:var(--yj-accent);}
.yj-lead{font-size:var(--yj-fs-5);line-height:1.75;color:var(--yj-text-soft);max-width:760px;margin:0 0 8px;}
.yj-section--ink .yj-lead{color:#C3D2D9;}
.yj-body{font-size:var(--yj-fs-6);line-height:1.85;color:var(--yj-g700);}
.yj-body p{margin:0 0 14px;}
.yj-small{font-size:var(--yj-fs-7);color:var(--yj-text-soft);line-height:1.7;}
.yj-note{font-size:var(--yj-fs-8);color:var(--yj-g400);line-height:1.7;}
.yj-section-head{margin:0 0 36px;}
.yj-section-head .yj-rule{width:48px;height:2px;background:var(--yj-accent);margin:14px 0 0;}

/* ---------- 按钮 ---------- */
.yj-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;background:var(--yj-accent);color:#1B1200;font-size:var(--yj-fs-6);font-weight:600;text-decoration:none;border:1px solid var(--yj-accent);border-radius:var(--yj-radius);transition:background .18s,color .18s,transform .18s;}
.yj-btn:hover{background:#C98C1F;border-color:#C98C1F;color:#1B1200;transform:translateY(-1px);}
.yj-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.38);}
.yj-btn--ghost:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff;}
.yj-btn--ink{background:var(--yj-ink);border-color:var(--yj-ink);color:#fff;}
.yj-btn--ink:hover{background:var(--yj-ink-2);border-color:var(--yj-ink-2);color:#fff;}
.yj-btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}

/* ---------- 首屏 ---------- */
.yj-hero{background:var(--yj-ink);color:#fff;padding:76px 0 64px;position:relative;overflow:hidden;}
.yj-hero::after{content:"";position:absolute;inset:0;background:
  radial-gradient(900px 380px at 82% 12%,rgba(224,164,56,.10),transparent 60%),
  linear-gradient(180deg,rgba(255,255,255,.03),transparent 42%);pointer-events:none;}
.yj-hero__grid{display:grid;grid-template-columns:1.45fr .9fr;gap:56px;align-items:center;position:relative;z-index:1;}
.yj-hero__facts{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;}
.yj-hero__facts li{font-size:var(--yj-fs-7);color:#B9CBD2;display:flex;align-items:center;gap:8px;}
.yj-hero__facts li::before{content:"";width:5px;height:5px;background:var(--yj-accent);display:block;}
.yj-hero__panel{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);padding:22px;border-radius:var(--yj-radius);backdrop-filter:blur(4px);}
.yj-hero__panel .yj-panel-title{font-size:var(--yj-fs-8);letter-spacing:.14em;color:var(--yj-accent);margin:0 0 14px;font-weight:600;}
.yj-kv{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.14);font-size:var(--yj-fs-7);color:#C3D2D9;}
.yj-kv:last-child{border-bottom:0;}
.yj-kv b{font-family:var(--yj-font-num);font-size:var(--yj-fs-4);color:#fff;font-weight:700;letter-spacing:.01em;}

/* ---------- 数据卡 ---------- */
.yj-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--yj-line);border:1px solid var(--yj-line);}
.yj-stat{background:#fff;padding:26px 22px;}
.yj-stat__num{font-family:var(--yj-font-num);font-size:clamp(28px,3vw,40px);font-weight:700;color:var(--yj-ink);line-height:1;letter-spacing:-.02em;}
.yj-stat__num small{font-size:var(--yj-fs-7);font-weight:600;color:var(--yj-accent-ink);margin-left:4px;letter-spacing:0;}
.yj-stat__label{font-size:var(--yj-fs-6);color:var(--yj-text);margin:10px 0 4px;font-weight:600;}
.yj-stat__note{font-size:var(--yj-fs-8);color:var(--yj-g400);line-height:1.6;}

/* ---------- 产品卡（4 列） ---------- */
.yj-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.yj-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--yj-line);border-radius:var(--yj-radius);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;}
.yj-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(12,29,38,.10);border-color:#C6D1D5;}
.yj-card__media{aspect-ratio:4/3;background:var(--yj-g50);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--yj-line);}
.yj-card__media img{width:100%;height:100%;object-fit:contain;display:block;padding:14px;}
.yj-card__body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.yj-card__tag{font-size:var(--yj-fs-8);letter-spacing:.1em;color:var(--yj-accent-ink);font-weight:600;}
.yj-card__title{font-size:var(--yj-fs-4);font-weight:700;color:var(--yj-ink);margin:0;line-height:1.3;}
.yj-card__title a{color:inherit;text-decoration:none;}
.yj-card__spec{font-family:var(--yj-font-num);font-size:var(--yj-fs-7);color:var(--yj-text-soft);line-height:1.65;margin:0;}
.yj-card__spec b{color:var(--yj-ink);font-weight:600;}
.yj-card__go{margin-top:auto;font-size:var(--yj-fs-7);color:var(--yj-ink);text-decoration:none;border-top:1px solid var(--yj-line);padding-top:12px;}
.yj-card__go::after{content:" →";color:var(--yj-accent-ink);}

/* ---------- 工序流程条 ---------- */
.yj-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--yj-line);background:#fff;}
.yj-flow__step{padding:22px 20px 24px;position:relative;border-right:1px solid var(--yj-line);}
.yj-flow__step:last-child{border-right:0;}
.yj-flow__no{font-family:var(--yj-font-num);font-size:var(--yj-fs-8);letter-spacing:.1em;color:var(--yj-accent-ink);font-weight:700;}
.yj-flow__name{font-size:var(--yj-fs-4);font-weight:700;color:var(--yj-ink);margin:6px 0 6px;}
.yj-flow__desc{font-size:var(--yj-fs-7);color:var(--yj-text-soft);line-height:1.7;}
.yj-flow__prod{font-size:var(--yj-fs-8);color:var(--yj-ink);margin-top:10px;display:block;text-decoration:none;border-left:2px solid var(--yj-accent);padding-left:8px;}

/* ---------- 规格卡（参数） ---------- */
.yj-spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;}
.yj-spec-card{border:1px solid var(--yj-line);background:#fff;padding:20px;}
.yj-spec-card__head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--yj-line);padding-bottom:10px;margin-bottom:12px;}
.yj-spec-card__model{font-family:var(--yj-font-num);font-size:var(--yj-fs-4);font-weight:700;color:var(--yj-ink);}
.yj-spec-card__badge{font-size:var(--yj-fs-8);color:var(--yj-accent-ink);letter-spacing:.08em;}

/* 两列参数表 */
.yj-speccard{width:100%;border-collapse:collapse;font-size:var(--yj-fs-6);background:#fff;border:1px solid var(--yj-line);}
.yj-speccard caption{caption-side:top;text-align:left;font-size:var(--yj-fs-7);color:var(--yj-text-soft);padding:0 0 10px;}
.yj-speccard thead th{background:var(--yj-ink);color:#fff;font-weight:600;font-size:var(--yj-fs-7);letter-spacing:.04em;padding:12px 16px;text-align:left;border:0;}
.yj-speccard tbody th{font-weight:600;color:var(--yj-ink);background:var(--yj-g50);width:34%;}
.yj-speccard th,.yj-speccard td{padding:12px 16px;border-top:1px solid var(--yj-line);vertical-align:top;text-align:left;}
.yj-speccard tbody tr:nth-child(even) td{background:var(--yj-g50);}
.yj-speccard td.yj-num{font-family:var(--yj-font-num);text-align:right;font-weight:600;color:var(--yj-ink);white-space:nowrap;}

/* ---------- 证据墙 ---------- */
.yj-evidence{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.yj-evidence__item{border:1px solid var(--yj-line);background:#fff;padding:22px;}
.yj-evidence__item .yj-h3{margin-bottom:6px;}
.yj-evidence__thumb{aspect-ratio:3/4;background:var(--yj-g50);border:1px dashed var(--yj-line);display:flex;align-items:center;justify-content:center;font-size:var(--yj-fs-8);color:var(--yj-g400);margin-bottom:12px;}

/* ---------- 行业宫格 ---------- */
.yj-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--yj-line);border:1px solid var(--yj-line);}
.yj-tile{background:#fff;padding:24px;text-decoration:none;display:block;transition:background .18s;}
.yj-tile:hover{background:var(--yj-g50);}
.yj-tile__name{font-size:var(--yj-fs-4);font-weight:700;color:var(--yj-ink);margin:0 0 6px;}
.yj-tile__desc{font-size:var(--yj-fs-7);color:var(--yj-text-soft);line-height:1.7;margin:0;}

/* ---------- 问答 ---------- */
.yj-faq{border-top:1px solid var(--yj-line);}
.yj-faq details{border-bottom:1px solid var(--yj-line);}
.yj-faq summary{cursor:pointer;padding:18px 0;font-size:var(--yj-fs-6);font-weight:600;color:var(--yj-ink);list-style:none;display:flex;justify-content:space-between;gap:16px;}
.yj-faq summary::-webkit-details-marker{display:none;}
.yj-faq summary::after{content:"+";color:var(--yj-accent-ink);font-family:var(--yj-font-num);font-weight:700;}
.yj-faq details[open] summary::after{content:"−";}
.yj-faq__a{padding:0 0 20px;font-size:var(--yj-fs-6);line-height:1.8;color:var(--yj-g700);max-width:860px;}

/* ---------- CTA ---------- */
.yj-cta{background:linear-gradient(135deg,var(--yj-ink) 0%,var(--yj-ink-2) 100%);color:#fff;padding:56px 0;}
.yj-cta__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.yj-cta .yj-h2{color:#fff;}
.yj-cta .yj-lead{color:#C3D2D9;}
.yj-cta__contact{list-style:none;margin:18px 0 0;padding:0;font-size:var(--yj-fs-7);color:#C3D2D9;line-height:2;}
.yj-cta__contact b{color:#fff;font-family:var(--yj-font-num);font-weight:600;}

/* ---------- 表单（WPForms 容器） ---------- */
.yj-form-box{background:#fff;border:1px solid var(--yj-line);padding:24px;border-radius:var(--yj-radius);}
.yj-form-box .wpforms-container{margin:0;}
.yj-form-box input,.yj-form-box select,.yj-form-box textarea{font-family:var(--yj-font-cn);}
.yj-form-box .wpforms-submit{background:var(--yj-accent);border:0;color:#1B1200;font-weight:600;border-radius:var(--yj-radius);}
.yj-form-note{font-size:var(--yj-fs-8);color:var(--yj-g400);margin-top:10px;}

/* ---------- 面包屑 ---------- */
.yj-crumb{font-size:var(--yj-fs-8);color:var(--yj-g400);padding:14px 0 0;}
.yj-crumb a{color:var(--yj-ink);text-decoration:none;}
.yj-crumb a:hover{color:var(--yj-accent-ink);}
.yj-crumb span{margin:0 6px;color:var(--yj-g400);}

/* ---------- 页脚四栏 ---------- */
.yj-footer{background:var(--yj-ink);color:#B9CBD2;padding:48px 0 24px;font-size:var(--yj-fs-7);line-height:1.9;}
.yj-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:32px;}
.yj-footer h4{color:#fff;font-size:var(--yj-fs-7);font-weight:600;margin:0 0 12px;letter-spacing:.06em;}
.yj-footer ul{list-style:none;margin:0;padding:0;}
.yj-footer a{color:#B9CBD2;text-decoration:none;}
.yj-footer a:hover{color:var(--yj-accent);}
.yj-footer__bar{border-top:1px solid rgba(255,255,255,.14);margin-top:32px;padding-top:16px;font-size:var(--yj-fs-8);color:#6E858E;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;}

/* ---------- 浅底变体与工具类（页面里不写行内样式，靠这些类） ---------- */
.yj-h1--ink{color:var(--yj-ink);}
.yj-kv--light{border-bottom:1px solid var(--yj-line);}
.yj-kv--light span{color:var(--yj-text-soft);}
.yj-kv--light b{color:var(--yj-ink);font-size:var(--yj-fs-5);}
.yj-muted{color:#8FA6B0;}
.yj-mt-8{margin-top:8px;}
.yj-mt-10{margin-top:10px;}
.yj-mt-12{margin-top:12px;}
.yj-mt-14{margin-top:14px;}
.yj-mt-20{margin-top:20px;}
.yj-mt-32{margin-top:32px;}
.yj-mb-0{margin-bottom:0;}
.yj-flow--4{grid-template-columns:repeat(4,1fr);}
.yj-flow--3{grid-template-columns:repeat(3,1fr);}
.yj-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.yj-media{border:1px solid var(--yj-line);background:var(--yj-g50);}
.yj-media img{display:block;width:100%;height:auto;}
.yj-list{margin:0 0 14px;padding-left:18px;}
.yj-list li{margin-bottom:8px;line-height:1.8;}
.yj-anchor{scroll-margin-top:96px;}

@media (max-width:640px){
  .yj-flow--4{grid-template-columns:1fr;}
  .yj-grid-2{grid-template-columns:1fr;gap:20px;}
}

/* ---------- 待确认占位（上线前必须清掉） ---------- */
.yj-todo{background:#FFF3D6;border:1px solid #E0A438;color:#6B4A0D;padding:1px 6px;font-size:var(--yj-fs-8);border-radius:2px;white-space:nowrap;}

/* ---------- 响应式 ---------- */
@media (max-width:1020px){
  .yj-hero__grid{grid-template-columns:1fr;gap:32px;}
  .yj-cards{grid-template-columns:repeat(2,1fr);}
  .yj-stat-grid{grid-template-columns:repeat(2,1fr);}
  .yj-flow{grid-template-columns:repeat(2,1fr);}
  .yj-flow__step:nth-child(2n){border-right:0;}
  .yj-flow__step:nth-child(-n+2){border-bottom:1px solid var(--yj-line);}
  .yj-evidence{grid-template-columns:repeat(2,1fr);}
  .yj-tiles{grid-template-columns:repeat(2,1fr);}
  .yj-cta__grid{grid-template-columns:1fr;gap:28px;}
  .yj-footer__grid{grid-template-columns:1fr 1fr;gap:24px;}
}
@media (max-width:640px){
  .yj-section{padding:48px 0;}
  .yj-hero{padding:52px 0 40px;}
  .yj-cards{grid-template-columns:1fr;}
  .yj-stat-grid{grid-template-columns:1fr;}
  .yj-flow{grid-template-columns:1fr;}
  .yj-flow__step{border-right:0;border-bottom:1px solid var(--yj-line);}
  .yj-evidence,.yj-tiles{grid-template-columns:1fr;}
  .yj-footer__grid{grid-template-columns:1fr;}
  .yj-btn{width:100%;justify-content:center;}
  /* 参数表转卡片 */
  .yj-speccard{display:block;border:0;}
  .yj-speccard thead{display:none;}
  .yj-speccard tbody,.yj-speccard tr,.yj-speccard th,.yj-speccard td{display:block;width:100%;}
  .yj-speccard tr{border:1px solid var(--yj-line);margin-bottom:10px;background:#fff!important;}
  .yj-speccard th,.yj-speccard td{border-top:0;padding:10px 14px;}
  .yj-speccard tbody th{background:#fff;color:var(--yj-g400);font-size:var(--yj-fs-8);font-weight:600;padding-bottom:0;}
  .yj-speccard tbody tr:nth-child(even) td{background:#fff;}
  .yj-speccard td.yj-num{text-align:left;}
  .yj-speccard td::before{content:attr(data-label);display:block;font-size:var(--yj-fs-8);color:var(--yj-g400);margin-bottom:2px;}
  .yj-speccard tbody th::before{content:none;}
}
