/* contact-info —— T7。Elementor 通用组件类规则同 contact-hero.css，由
   tools/extract-matching-css.py 抽取追加在本文件末尾。
   .jiesheng-contact-info 外层排版是自己写的。 */

.jiesheng-contact-info {
	flex: 1 1 0;
	min-width: 0;
}

/* 🐛 2026-09-04 修复：padding 之前写在上面那条规则里（24px 20px，凭感觉定的，
   没测过），会被下面"自动抽取"的 `.e-con{--padding-top:...}` 覆盖成框架默认
   10px（本文件内，`.e-con` 规则源码顺序更靠后，同 class 单选择器优先级下
   源码顺序说了算）——probe 实测确认过，改之前算出来的 padding-top 是 10px，
   不是这里写的任何数字。跟 contact-hero.css 同一个坑，也用同一个办法修：
   补标签名把选择器精度提到比 `.e-con` 单 class 更高，这样不管 `.e-con` 规则
   出现在本文件的哪个位置、或者出现在后加载的 contact-form.css 里，都赢定了。
   数值改成 jcrapid.com /contact/ 参考页实测值（elementor-element-f9c6422：
   padding 0 120px 0 0，靠右侧留白跟表单栏拉开距离，不是上下都留白）。 */
div.jiesheng-contact-info {
	padding: 0 120px 0 0;
}

/* 🐛 2026-09-04 修复：用户反馈"参考站是整体居中的，左右有留白，你直接占满了"——
   之前只给两栏行外壳（.jiesheng-contact-row，见 wire-contact.php）补了固定
   40px 左右 padding，视口越宽这行内容就跟着越宽，永远贴到 40px 处，不会真的
   "居中留白"。用宽视口（1920）重新探针参考站才发现问题不在 40px 这个数字本身，
   是 jcrapid.com 的 Elementor kit 本来就有一个真正的最大宽度：
   `--container-max-width` 实测 1400px——视口 ≤1480px 时够不着这个上限，看着
   像贴边（跟本文件第一轮实测的 1440px 视口数据吻合，容易误判成"没有上限"）；
   视口一旦更宽（1920px 实测），内容就真的封顶在 1400px 并且左右自动居中留白。
   `.jiesheng-contact-row` 本身已经有 40px 左右 padding，所以外层 box 的封顶
   宽度是 1400 + 40*2 = 1480px，直接给它加 max-width + margin:auto 即可，
   不用像参考站那样再套一层 e-con-inner。
   🚩 第一版用 `div.jiesheng-contact-row` 选择器完全不生效——排查发现这份
   "自动抽取"框架 CSS 里有一条 `:is(.elementor-section-wrap,[data-elementor-id])
   >.e-con{max-width:min(100%,var(--width))}`（本文件上面自动抽取区块），
   这条选择器的优先级是两级 class（0,2,0），比 `div.jiesheng-contact-row`
   的"一个标签+一个 class"（0,1,1）高，跟"哪个文件后加载"无关，直接碾压。
   选择器补上这个元素本来就有的 `.e-con` 类凑够两级 class（0,2,1）才赢得过。 */
div.e-con.jiesheng-contact-row {
	max-width: 1480px;
	margin: 0 auto;
	/* 🐛 2026-09-04 用 --map 加 x/y 坐标详测才挖出来的：这一行是 flex 容器，
	   Elementor kit 默认给 flex 子项之间加 20px 间距（--widgets-spacing:20px
	   的兜底值），参考站这里实测 column-gap:0——info/form 两栏之间的距离全靠
	   info 自己的 padding-right:120px 撑开，容器本身不再叠加额外间距。我们
	   之前没管这个默认值，实测两栏之间总共留了 140px（120 + 20）比参考站
	   多出 20px，两栏各自的 x 坐标因此比参考站多偏了一截。 */
	column-gap: 0;
	row-gap: 0;
}


/* === 自动抽取：参考站全局共享样式表（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-widget-wrap .elementor-element.elementor-widget__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget__width-initial{max-width:100%}
@media (max-width:1024px) {
.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-tablet__width-initial{max-width:100%}
}
@media (max-width:767px) {
.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-auto,.elementor-widget-wrap .elementor-element.elementor-widget-mobile__width-initial{max-width:100%}
}
.elementor-element.elementor-absolute,.elementor-element.elementor-fixed{z-index:1}
.elementor-element{--flex-direction:initial;--flex-wrap:initial;--justify-content:initial;--align-items:initial;--align-content:initial;--gap:initial;--flex-basis:initial;--flex-grow:initial;--flex-shrink:initial;--order:initial;--align-self:initial;align-self:var(--align-self);flex-basis:var(--flex-basis);flex-grow:var(--flex-grow);flex-shrink:var(--flex-shrink);order:var(--order)}
.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-wrap>.elementor-element{width:100%}
.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-heading-title{line-height:1;margin:0;padding:0}
.elementor-element.elementor-button-info .elementor-button{background-color:#5bc0de}
.elementor-element.elementor-button-success .elementor-button{background-color:#5cb85c}
.elementor-element.elementor-button-warning .elementor-button{background-color:#f0ad4e}
.elementor-element.elementor-button-danger .elementor-button{background-color:#d9534f}
.e-transform .elementor-widget-container,.e-transform:not(:has(.elementor-widget-container)){transform:perspective(var(--e-transform-perspective,0)) rotate(var(--e-transform-rotateZ,0)) rotateX(var(--e-transform-rotateX,0)) rotateY(var(--e-transform-rotateY,0)) translate(var(--e-transform-translate,0)) translateX(var(--e-transform-translateX,0)) translateY(var(--e-transform-translateY,0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX,0)) skewY(var(--e-transform-skewY,0));transform-origin:var(--e-transform-origin-y) var(--e-transform-origin-x)}
.e-con.e-transform{transform:perspective(var(--e-con-transform-perspective,0)) rotate(var(--e-con-transform-rotateZ,0)) rotateX(var(--e-con-transform-rotateX,0)) rotateY(var(--e-con-transform-rotateY,0)) translate(var(--e-con-transform-translate,0)) translateX(var(--e-con-transform-translateX,0)) translateY(var(--e-con-transform-translateY,0)) scaleX(calc(var(--e-con-transform-flipX, 1) * var(--e-con-transform-scaleX, var(--e-con-transform-scale, 1)))) scaleY(calc(var(--e-con-transform-flipY, 1) * var(--e-con-transform-scaleY, var(--e-con-transform-scale, 1)))) skewX(var(--e-con-transform-skewX,0)) skewY(var(--e-con-transform-skewY,0));transform-origin:var(--e-con-transform-origin-y) var(--e-con-transform-origin-x)}
.elementor-editor-active .elementor.elementor-edit-mode .elementor-widget.elementor-global-widget:hover{outline:1px solid #fec449}
.e-container .elementor-element.elementor-sticky--active{padding-left:var(--padding-left);padding-right:var(--padding-right)}
.woocommerce .elementor-element.elementor-products-grid ul.products li.product,.woocommerce div.product .elementor-element.elementor-products-grid .related.products ul.products li.product,.woocommerce div.product .elementor-element.elementor-products-grid .upsells.products ul.products li.product{width:auto}
.elementor-edit-area-active .elementor-widget-woocommerce-menu-cart.elementor-widget.elementor-loading.elementor-menu-cart--shown{opacity:1}
.elementor-edit-area-active .elementor-widget-woocommerce-menu-cart.elementor-widget.elementor-loading.elementor-menu-cart--shown .elementor-menu-cart__container{z-index:9999}
.elementor-widget-price-table .elementor-widget-container{overflow:hidden;background-color:#f7f7f7}
.elementor-widget-flip-box.elementor-flip-box--flipped .elementor-widget-container .elementor-flip-box__front{display:none}
.elementor-widget-flip-box.elementor-flip-box--flipped .elementor-widget-container .elementor-flip-box__back{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}
.elementor-cta,.elementor-widget-call-to-action .elementor-widget-container{overflow:hidden}
.elementor-widget-share-buttons.elementor-grid-0 .elementor-widget-container{font-size:0}
.elementor-widget-hotspot .elementor-widget-container{position:relative;display:inline-block;width:var(--container-width);max-width:var(--container-max-width);height:var(--container-height)}
.elementor-widget-hotspot .elementor-widget-container>img{display:block;width:var(--image-width,auto);height:var(--container-height);opacity:var(--opacity,1)}
.elementor-widget-nav-menu .elementor-widget-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
.elementor-widget-table-of-contents .elementor-widget-container{min-height:var(--box-min-height);border:var(--box-border-width,1px) solid var(--box-border-color,#a4afb7);border-radius:var(--box-border-radius,3px);background-color:var(--box-background-color);-webkit-transition:min-height .4s;-o-transition:min-height .4s;transition:min-height .4s;overflow:hidden}

/* === 追加：Elementor image-box/heading/spacer/text-editor widget 官方样式
   （本地已安装的 elementor 插件 assets/css/widget-*.min.css，非 jcrapid.com
   归档——同 contact-hero.css 顶部注释的理由，widget 专属 CSS 参考站归档没抓到，
   类名已在 contact/index.html 真实出现，这份是 Elementor 官方源码） === */
.elementor-widget-image-box .elementor-image-box-content{width:100%}@media (min-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:flex}.elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{flex-direction:row-reverse;text-align:end}[dir=rtl] .elementor-widget-image-box.elementor-position-right .elementor-image-box-wrapper{flex-direction:row}.elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{flex-direction:row;text-align:start}[dir=rtl] .elementor-widget-image-box.elementor-position-left .elementor-image-box-wrapper{flex-direction:row-reverse}.elementor-widget-image-box.elementor-position-top .elementor-image-box-img{margin:auto}.elementor-widget-image-box.elementor-vertical-align-top .elementor-image-box-wrapper{align-items:flex-start}.elementor-widget-image-box.elementor-vertical-align-middle .elementor-image-box-wrapper{align-items:center}.elementor-widget-image-box.elementor-vertical-align-bottom .elementor-image-box-wrapper{align-items:flex-end}}@media (max-width:767px){.elementor-widget-image-box .elementor-image-box-img{margin-inline:auto!important;margin-bottom:15px}}.elementor-widget-image-box .elementor-image-box-img{display:inline-block}.elementor-widget-image-box .elementor-image-box-img img{display:block;line-height:0}.elementor-widget-image-box .elementor-image-box-title a{color:inherit}.elementor-widget-image-box .elementor-image-box-wrapper{text-align:center}.elementor-widget-image-box .elementor-image-box-description{margin:0}
.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}
.elementor-column .elementor-spacer-inner{height:var(--spacer-size)}.e-con{--container-widget-width:100%}.e-con-inner>.elementor-widget-spacer,.e-con>.elementor-widget-spacer{width:var(--container-widget-width,var(--spacer-size));--align-self:var( --container-widget-align-self,initial );--flex-shrink:0}.e-con-inner>.elementor-widget-spacer>.elementor-widget-container,.e-con>.elementor-widget-spacer>.elementor-widget-container{height:100%;width:100%}.e-con-inner>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer,.e-con>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer{height:100%}.e-con-inner>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer>.elementor-spacer-inner,.e-con>.elementor-widget-spacer>.elementor-widget-container>.elementor-spacer>.elementor-spacer-inner{height:var(--container-widget-height,var(--spacer-size))}.e-con-inner>.elementor-widget-spacer:not(:has(>.elementor-widget-container))>.elementor-spacer,.e-con>.elementor-widget-spacer:not(:has(>.elementor-widget-container))>.elementor-spacer{height:100%}.e-con-inner>.elementor-widget-spacer:not(:has(>.elementor-widget-container))>.elementor-spacer>.elementor-spacer-inner,.e-con>.elementor-widget-spacer:not(:has(>.elementor-widget-container))>.elementor-spacer>.elementor-spacer-inner{height:var(--container-widget-height,var(--spacer-size))}.e-con-inner>.elementor-widget-spacer.elementor-widget-empty,.e-con>.elementor-widget-spacer.elementor-widget-empty{min-height:22px;min-width:22px;position:relative}.e-con-inner>.elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon,.e-con>.elementor-widget-spacer.elementor-widget-empty .elementor-widget-empty-icon{height:22px;inset:0;margin:auto;padding:0;position:absolute;width:22px}
.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{background-color:transparent;border:3px solid;color:#69727d}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-block-start:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{height:1em;width:1em}.elementor-widget-text-editor .elementor-drop-cap{float:inline-start;font-size:50px;line-height:1;text-align:center}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}
