/* Industries 归档页页头 —— token 型 widget，快照名 pages/industry-archive-header。
   HTML 结构冻结自 jcrapid.com /industries/index.html 的真实 image-box 页头区块
   （标题 "Industries We Serve" + 说明段落，行 1261，elementor-element-2205d48），
   去掉了 elementor-element-xxxxx 这类每次编辑随机生成的实例哈希类。

   与 capability-archive-header.css 完全同一套视觉规格——两个页面的页头
   用的是同一套 Elementor image-box 视觉语言，数值故意保持一致。
   Elementor 通用规则块直接复用该文件末尾的抽取块（两个页面的 Elementor 版本
   相同，共享同一批基础规则）。

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

/* 页头 banner 容器 */
.jiesheng-industry-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-industry-archive-header > .elementor-widget { position: relative; z-index: 1; }
.jiesheng-industry-archive-header .elementor-image-box-content { text-align: center; max-width: 640px; margin: 0 auto; }
.jiesheng-industry-archive-header .elementor-image-box-title { font-size: 72px; line-height: 1.2; color: #fff; margin: 0 0 20px; }
.jiesheng-industry-archive-header .elementor-image-box-description { color: #fff; }

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

/* ── 卡片网格（industry-archive-grid widget，Pattern A） ── */
.jiesheng-industry-archive-grid {
	--display: grid;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;          /* 参考站卡片间距靠 padding 而不是 gap */
	width: 100%;
	/* 🚩 2026-09-07 修正：之前"max-width 不设"的结论只在 1418px 窄视口下测过，
	   属于快照式仿站踩坑记录里点过名的"窄视口贴边假象"（AGENTS.md 经验教训 #3）。
	   换 1920px/2560px 宽视口现查参考站才发现真实是有上限的——section 级
	   e-con-inner 稳定封顶在 1600px（2560px 视口下量出来还是 1600，不再变大），
	   不封顶的话宽屏上卡片/图片会明显比参考站大一圈，就是这次用户反馈"太大"的
	   真正原因（h5 单行截断只是次要原因）。 */
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	/* padding-left/right 写在末尾覆盖区，避免被 Elementor .e-con 通用规则覆盖 */
}
/* margin auto 在窄类选择器上会被 Elementor 全局 .e-con{margin-inline-start:var(...)}
   规则（源码顺序更靠后）盖掉——跟 capability-archive-grid 同一个坑，同样用双类
   选择器把 specificity 提到 (0,2,0) 稳赢，不依赖加载顺序。 */
.jiesheng-industry-archive-grid.e-con {
	margin-left: auto;
	margin-right: auto;
}

.jiesheng-industry-card {
	text-align: left;
	box-sizing: border-box;
}
/* padding 规则必须在文件末尾 Elementor 通用规则之后才能生效，见末尾的覆盖区 */
.jiesheng-industry-card img,
.jiesheng-industry-card .jiesheng-card-noimg {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 0;
	display: block;
	background: #eef1f6;
}
.jiesheng-industry-card h5.elementor-heading-title {
	margin: 0 0 0;    /* 参考站 margin-top:0 */
	font-size: 18px;
	line-height: 25.2px;   /* 参考站实测 25.2px */
	/* 参考站标题是精简行业名词（如 "Electronics"），恒定 1 行；我们的标题是
	   客户真实产品文案的完整长句，经常撑到 2 行，是卡片比参考站明显偏高的
	   主因（2026-09-07 probe 现查确认）。用单行省略号截断对齐参考站的视觉
	   高度，完整标题仍保留在 DOM 里，不影响可访问性/SEO。 */
	height: 25.2px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}
.jiesheng-industry-card h5.elementor-heading-title a { color: var(--text-strong); text-decoration: none; }
.jiesheng-industry-card h5.elementor-heading-title a:hover { color: var(--brand); }
.jiesheng-industry-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-industry-archive-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.jiesheng-industry-archive-grid { grid-template-columns: 1fr; }
	.jiesheng-industry-card { padding: 16px; }
}


/* === 自动抽取：参考站全局共享样式表（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 背景/遮罩覆盖（必须放文件末尾，覆盖上面 Elementor 通用规则）──
   与 capability-archive-header.css 同一套坑：.e-con 通用 padding 规则和本文件早前
   的手写规则优先级相同（单类选择器），源码靠后的赢，覆盖规则必须放在末尾。
   padding/遮罩值沿用 capability 页头的实测值（jcrapid.com /services/ 实测：
   padding-top:120px/padding-bottom:100px，遮罩 rgba(8,8,8,0.7)）——
   /industries/ 页头用的是同一套 image-box banner 视觉，数值应相同。 */
.jiesheng-industry-archive-header {
	padding-top: 120px;
	padding-bottom: 100px;
	padding-left: 24px;
	padding-right: 24px;
}
.jiesheng-industry-archive-header:before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(8, 8, 8, 0.7);
}

/* 参考站卡片网格外层容器：左右 57px 留白（实测 e-con-inner x=56），
   上下 100px（参考站 e-con-inner padding-top/bottom:100px）。
   全部写在末尾，在 Elementor .e-con 通用规则之后才能覆盖 CSS 变量链路。
   🚩 2026-09-07：这里之前也写了一条 `max-width: none`，跟前面刚加的
   `max-width: 1600px` 同选择器、这条在源码里更靠后，会把上面的 1600px 盖掉——
   之前"宽视口卡片变大"这个 bug 真正的直接原因就是这一行，不是没设上限，
   是设了又在这里被自己覆盖成 none。删掉即可，不用重复声明。 */
.jiesheng-industry-archive-grid {
	padding-top: 100px;
	padding-bottom: 100px;
	padding-left: 57px;
	padding-right: 57px;
}
/* 1024px 断点：参考站 e-con-inner 被封顶到 1024px 且居中，
   实测 inner_x=70（左右各 70px 留白），card_padL=17px */
@media (max-width: 1024px) {
	.jiesheng-industry-archive-grid {
		padding-left: 70px;
		padding-right: 70px;
	}
	.jiesheng-industry-archive-grid .jiesheng-industry-card {
		padding: 17px;
	}
}

/* 图片 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); }

/* ── 卡片 padding 和标题样式（必须放文件末尾，在 Elementor 通用规则之后）──
   Elementor 通用规则块用 .e-con/.e-con-full 单类选择器设 padding 为 CSS 变量，
   我们这里用双类选择器（specificity 更高）覆盖回具体值。
   参考站实测：每个卡片四面均等 26px padding，h5 margin-top:0，line-height:25.2px */
.jiesheng-industry-archive-grid .jiesheng-industry-card {
	padding: 26px;
}
.jiesheng-industry-archive-grid .jiesheng-industry-card h5.elementor-heading-title {
	margin-top: 0;
	line-height: 25.2px;
}
