/* Material 归档页页头 —— token 型 widget，快照名 pages/material-archive-header。
   HTML 结构同 industry/capability 归档页头（image-box：h1 标题 + 说明段落）。
   jcrapid.com /materials/ 没有独立的 image-box banner，页头文案自拟（见
   widgets/material-archive-header.php token_map() 的注释），但视觉规格
   与 industry/capability 归档页头保持完全一致。

   这份文件同时被 material-archive-header（token widget）和
   material-archive-grid（数据 widget）两个 widget 的 get_style_depends() 引用。 */

/* 页头 banner 容器 */
.jiesheng-material-archive-header { max-width: 100%; box-sizing: border-box; position: relative; overflow: hidden; background-size: cover; background-position: center; background-color: var(--text-strong); }
.jiesheng-material-archive-header > .elementor-widget { position: relative; z-index: 1; }
.jiesheng-material-archive-header .elementor-image-box-content { text-align: center; max-width: 640px; margin: 0 auto; }
.jiesheng-material-archive-header .elementor-image-box-title { font-size: 72px; line-height: 1.2; color: #fff; margin: 0 0 20px; }
.jiesheng-material-archive-header .elementor-image-box-description { color: #fff; }

/* --display 坑（SPEC §1） */
.e-flex { --display: flex; display: flex; flex-wrap: wrap; }

/* ── 卡片网格（material-archive-grid widget，Pattern A） ── */
.jiesheng-material-archive-grid {
	--display: grid;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px 56px;
	box-sizing: border-box;
}

.jiesheng-material-card { text-align: left; }
.jiesheng-material-card img,
.jiesheng-material-card .jiesheng-card-noimg {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 0;
	display: block;
	background: #eef1f6;
}
.jiesheng-material-card h5.elementor-heading-title { margin: 14px 0 0; font-size: 18px; }
.jiesheng-material-card h5.elementor-heading-title a { color: var(--text-strong); text-decoration: none; }
.jiesheng-material-card h5.elementor-heading-title a:hover { color: var(--brand); }
.jiesheng-material-card .elementor-widget-text-editor p { margin: 6px 0 0; font-size: 14px; color: var(--text); line-height: 1.6; }

@media (max-width: 900px) {
	.jiesheng-material-archive-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.jiesheng-material-archive-grid { grid-template-columns: 1fr; }
}


/* === 自动抽取：参考站全局共享样式表（tools/extract-matching-css.py），按类名精确匹配抽取，minified 原文，未重新排版 === */
.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure{margin:0}
.e-con-inner>.elementor-element.elementor-absolute,.e-con>.elementor-element.elementor-absolute,.elementor-widget-wrap>.elementor-element.elementor-absolute{position:absolute}
.e-con-inner>.elementor-element.elementor-fixed,.e-con>.elementor-element.elementor-fixed,.elementor-widget-wrap>.elementor-element.elementor-fixed{position:fixed}
.elementor-element:where(.e-con-full,.elementor-widget){align-content:var(--align-content);align-items:var(--align-items);flex-direction:var(--flex-direction);flex-wrap:var(--flex-wrap);gap:var(--row-gap) var(--column-gap);justify-content:var(--justify-content)}
.elementor-widget{position:relative}
.elementor-widget:not(:last-child){margin-block-end:var(--kit-widget-spacing,20px)}
.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial{margin-block-end:0}
.e-con{--border-radius:0;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--border-style:initial;--border-color:initial;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--content-width:min(100%,var(--container-max-width,1140px));--width:100%;--min-height:initial;--height:auto;--text-align:initial;--margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px;--padding-top:var(--container-default-padding-top,10px);--padding-right:var(--container-default-padding-right,10px);--padding-bottom:var(--container-default-padding-bottom,10px);--padding-left:var(--container-default-padding-left,10px);--position:relative;--z-index:revert;--overflow:visible;--gap:var(--widgets-spacing,20px);--row-gap:var(--widgets-spacing-row,20px);--column-gap:var(--widgets-spacing-column,20px);--overlay-mix-blend-mode:initial;--overlay-opacity:1;--overlay-transition:0.3s;--e-con-grid-template-columns:repeat(3,1fr);--e-con-grid-template-rows:repeat(2,1fr);border-radius:var(--border-radius);height:var(--height);min-height:var(--min-height);min-width:0;overflow:var(--overflow);position:var(--position);width:var(--width);z-index:var(--z-index);--flex-wrap-mobile:wrap}
.e-con:where(:not(.e-div-block-base)){transition:background var(--background-transition,.3s),border var(--border-transition,.3s),box-shadow var(--border-transition,.3s),transform var(--e-con-transform-transition-duration,.4s)}
.e-con{--margin-block-start:var(--margin-top);--margin-block-end:var(--margin-bottom);--margin-inline-start:var(--margin-left);--margin-inline-end:var(--margin-right);--padding-inline-start:var(--padding-left);--padding-inline-end:var(--padding-right);--padding-block-start:var(--padding-top);--padding-block-end:var(--padding-bottom);--border-block-start-width:var(--border-top-width);--border-block-end-width:var(--border-bottom-width);--border-inline-start-width:var(--border-left-width);--border-inline-end-width:var(--border-right-width)}
body.rtl .e-con{--padding-inline-start:var(--padding-right);--padding-inline-end:var(--padding-left);--margin-inline-start:var(--margin-right);--margin-inline-end:var(--margin-left);--border-inline-start-width:var(--border-right-width);--border-inline-end-width:var(--border-left-width)}
.e-con{margin-block-end:var(--margin-block-end);margin-block-start:var(--margin-block-start);margin-inline-end:var(--margin-inline-end);margin-inline-start:var(--margin-inline-start);padding-inline-end:var(--padding-inline-end);padding-inline-start:var(--padding-inline-start)}
.e-con.e-flex{--flex-direction:column;--flex-basis:auto;--flex-grow:0;--flex-shrink:1;flex:var(--flex-grow) var(--flex-shrink) var(--flex-basis)}
.e-con-full,.e-con>.e-con-inner{padding-block-end:var(--padding-block-end);padding-block-start:var(--padding-block-start);text-align:var(--text-align)}
.e-con-full.e-flex,.e-con.e-flex>.e-con-inner{flex-direction:var(--flex-direction)}
.e-con,.e-con>.e-con-inner{display:var(--display)}
.e-con.e-grid{--grid-justify-content:start;--grid-align-content:start;--grid-auto-flow:row}
.e-con.e-grid,.e-con.e-grid>.e-con-inner{align-content:var(--grid-align-content);align-items:var(--align-items);grid-auto-flow:var(--grid-auto-flow);grid-template-columns:var(--e-con-grid-template-columns);grid-template-rows:var(--e-con-grid-template-rows);justify-content:var(--grid-justify-content);justify-items:var(--justify-items)}
.e-con-boxed.e-flex{align-content:normal;align-items:normal;flex-direction:column;flex-wrap:nowrap;justify-content:normal}
.e-con.e-flex>.e-con-inner{align-content:var(--align-content);align-items:var(--align-items);align-self:auto;flex-basis:auto;flex-grow:1;flex-shrink:1;flex-wrap:var(--flex-wrap);justify-content:var(--justify-content)}
.e-con.e-grid>.e-con-inner{align-items:var(--align-items);justify-items:var(--justify-items)}
.e-con>.e-con-inner{gap:var(--row-gap) var(--column-gap);height:100%;margin:0 auto;max-width:var(--content-width);padding-inline-end:0;padding-inline-start:0;width:100%}
:is(.elementor-section-wrap,[data-elementor-id])>.e-con{--margin-left:auto;--margin-right:auto;max-width:min(100%,var(--width))}
:is([data-widget_type="e-component.default"],[data-widget_type="e-component.default"]>.elementor-section-wrap)>.e-con{--margin-right:0px;--margin-left:0px}
.e-con .elementor-widget.elementor-widget{margin-block-end:0}
.e-con:before,.e-con>.elementor-background-slideshow:before,.e-con>.elementor-motion-effects-container>.elementor-motion-effects-layer:before,:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container:before{border-block-end-width:var(--border-block-end-width);border-block-start-width:var(--border-block-start-width);border-color:var(--border-color);border-inline-end-width:var(--border-inline-end-width);border-inline-start-width:var(--border-inline-start-width);border-radius:var(--border-radius);border-style:var(--border-style);content:var(--background-overlay);display:block;height:max(100% + var(--border-top-width) + var(--border-bottom-width),100%);left:calc(0px - var(--border-left-width));mix-blend-mode:var(--overlay-mix-blend-mode);opacity:var(--overlay-opacity);position:absolute;top:calc(0px - var(--border-top-width));transition:var(--overlay-transition,.3s);width:max(100% + var(--border-left-width) + var(--border-right-width),100%)}
.e-con:before{transition:background var(--overlay-transition,.3s),border-radius var(--border-transition,.3s),opacity var(--overlay-transition,.3s)}
.e-con>.elementor-background-slideshow,:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container{border-block-end-width:var(--border-block-end-width);border-block-start-width:var(--border-block-start-width);border-color:var(--border-color);border-inline-end-width:var(--border-inline-end-width);border-inline-start-width:var(--border-inline-start-width);border-radius:var(--border-radius);border-style:var(--border-style);height:max(100% + var(--border-top-width) + var(--border-bottom-width),100%);left:calc(0px - var(--border-left-width));top:calc(0px - var(--border-top-width));width:max(100% + var(--border-left-width) + var(--border-right-width),100%)}
@media (max-width:767px) {
:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container.elementor-hidden-mobile{display:none}
}
:is(.e-con,.e-con>.e-con-inner)>.elementor-background-video-container:before{z-index:1}
:is(.e-con,.e-con>.e-con-inner)>.elementor-background-slideshow:before{z-index:2}
.e-con .elementor-widget{min-width:0}
.e-con .elementor-widget-empty,.e-con .elementor-widget-google_maps,.e-con .elementor-widget-video,.e-con .elementor-widget.e-widget-swiper{width:100%}
.e-con>.e-con-inner>.elementor-widget>.elementor-widget-container,.e-con>.elementor-widget>.elementor-widget-container{height:100%}
.e-con.e-con>.e-con-inner>.elementor-widget,.elementor.elementor .e-con>.elementor-widget{max-width:100%}
.e-con .elementor-widget:not(:last-child){--kit-widget-spacing:0px}
@media (max-width:767px) {
.e-con.e-flex{--width:100%;--flex-wrap:var(--flex-wrap-mobile)}
.e-con.e-flex .elementor-widget-archive-posts{width:100%}
}
.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)) .elementor-widget-container,.elementor-element:where(:not(.e-con)):where(:not(.e-div-block-base)):not(:has(.elementor-widget-container)){transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,transform var(--e-transform-transition-duration,.4s)}
.elementor-image-box-img{display:inline-block;margin:0 auto}
.elementor-image-box-img img{-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}
.elementor-image-box-wrapper{text-align:center}
.elementor-image-box-description{margin:0}
.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}
.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper .elementor-image-box-img{-webkit-margin-end:var(--image-box-img-margin,1rem);margin-inline-end:var(--image-box-img-margin,1rem)}
.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper .elementor-image-box-img{-webkit-margin-start:var(--image-box-img-margin,1rem);margin-inline-start:var(--image-box-img-margin,1rem)}
.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin-block-end:var(--image-box-img-margin,1rem)}
.elementor-widget-image-box.elementor-position-right .elementor-image-box-img,.elementor-widget-image-box.elementor-position-left .elementor-image-box-img{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0}
.elementor-widget-image-box .elementor-image-box-content{width:100%}
@media (max-width:768px){
.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{display:block;text-align:center}
.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper .elementor-image-box-img,.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper .elementor-image-box-img{margin-block-end:var(--image-box-img-margin,1rem);-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0}
}
.e-con{--container-max-width:1400px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}
.elementor-widget:not(:last-child){margin-block-end:0px;}
@media(max-width:1024px) {
.e-con{--container-max-width:1024px;}
}
@media(max-width:767px) {
.e-con{--container-max-width:767px;}
}

/* ── 页头 banner 背景/遮罩覆盖（必须放文件末尾）── */
.jiesheng-material-archive-header {
	padding-top: 120px;
	padding-bottom: 100px;
	padding-left: 24px;
	padding-right: 24px;
}
.jiesheng-material-archive-header:before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(8, 8, 8, 0.7);
}

/* 网格左右 padding 覆盖（旧 capability/industry 同一个坑，已通过 e-con-inner padding 解决，保留注释） */
/* .jiesheng-material-archive-grid padding 不再需要覆盖 */


/* ── Material 归档三栏布局（2026-09-04 改版，对齐 jcrapid.com /materials/ 真实结构）──
   参考站实测：外层 e-con-boxed，内容宽度限制 92%，三栏各 33.3% 横排，
   每栏图片 3:2 + h5 标题（margin-top:30px）+ table 两列材料清单。
   旧卡片网格规则（.jiesheng-material-archive-grid/.jiesheng-material-card）
   保留但不再渲染，不影响新结构。 */

/* 外层 boxed 容器
   参考站实测：图片区宽 364px × 3 + gap ≈ 1163px，容器几乎贴满 1280 视口。
   去掉左右 padding，改用 max-width:1400px 对齐参考站 Elementor kit 的上限。
   注意：e-con-inner 的实际宽度由 --container-max-width CSS 变量控制，
   默认继承 kit 的 1140px；覆写成 1400px 让内容区对齐参考站。 */
.jiesheng-material-archive-layout {
	--display: flex;
	--container-max-width: 1400px;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 56px 0;
}
.jiesheng-material-archive-layout > .e-con-inner {
	width: 100%;
	max-width: calc(1400px - 48px); /* 1400px 内容上限减去左右各 24px padding */
	padding: 0 24px;
	box-sizing: border-box;
}

/* "What we work with" 介绍区 */
.jiesheng-material-intro {
	--display: flex;
	display: flex;
	flex-direction: column;
	max-width: 70%;
	margin-bottom: 40px;
}
.jiesheng-material-intro h6.elementor-heading-title {
	font-size: 15px;
	line-height: 21px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--brand);
	margin: 0 0 12px;
}
.jiesheng-material-intro h2.elementor-heading-title {
	font-size: 44px;
	line-height: 1.1;
	color: var(--text-strong);
	font-weight: 700;
	margin: 0;
}

/* 三栏横排容器——必须覆盖 .e-con.e-flex 默认的 --flex-direction:column
   参考站实测三栏容器 margin-top:40px（介绍区和图片区之间的间距） */
.jiesheng-material-columns {
	--display: flex;
	--flex-direction: row;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	gap: 0;
	align-items: flex-start;
	margin-top: 40px;
}

/* 每一栏——参考站实测每栏 padding 非对称：
   第1栏: L=0  R=26px  T/B=26px
   第2栏: L=13px R=13px T/B=26px
   第3栏: L=26px R=0  T/B=26px */
.jiesheng-material-col {
	--display: flex;
	--flex-direction: column;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 0;
	min-width: 0;
	box-sizing: border-box;
	padding: 26px 26px 26px 0;    /* 默认：第一栏，L=0 */
}
.jiesheng-material-col:nth-child(2) {
	padding: 26px 13px 26px 13px; /* 第二栏：左右各 13px */
}
.jiesheng-material-col:nth-child(3) {
	padding: 26px 0 26px 26px;    /* 第三栏：R=0 */
}

/* 图片容器（overflow:hidden 让图片不超出） */
.jiesheng-material-col-img {
	--display: flex;
	display: flex;
	overflow: hidden;
}
.jiesheng-material-col-img img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
}

/* 栏标题（参考站实测 margin-top:0，line-height:25.2px） */
.jiesheng-material-col h5.elementor-heading-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 25.2px;
	margin: 0 0 12px;
	color: var(--text-strong);
}

/* 材料表格 */
.jiesheng-material-col table {
	width: 100%;
	border-collapse: collapse;
}
.jiesheng-material-col table td {
	padding: 7px 4px;
	font-size: 14px;
	color: var(--text);
	border-bottom: 1px solid #eee;
	vertical-align: top;
}
.jiesheng-material-col table tr:first-child td {
	font-size: 13px;
	color: var(--text-strong);
	border-bottom: 2px solid #ddd;
	padding-bottom: 8px;
}

@media (max-width: 900px) {
	.jiesheng-material-col { width: 100%; flex: 1 1 100%; padding: 0 0 40px !important; }
	.jiesheng-material-intro { max-width: 100%; }
	.jiesheng-material-columns { gap: 0; margin-top: 24px; }
}

/* 图片 hover 放大动效——参考站通过 Elementor 按需加载
   wp-content/plugins/elementor/assets/lib/animations/styles/e-animation-grow.min.css
   注入这两条规则。快照冻结方案不走 Elementor 的按需加载机制，手动补到这里。 */
.elementor-animation-grow { transition-duration: .3s; transition-property: transform; }
.elementor-animation-grow:hover,
.elementor-animation-grow:focus,
.elementor-animation-grow:active { transform: scale(1.1); }
