/* ==========================================================
   Elementor 页面样式补充。
   组件的文字、颜色、字号、图片等都在 Elementor 里设置；这里只补充
   版式细节（横线、列表勾号、图片高度、按钮样式、固定高度等）。
   固定高度按 Elementor 区段/列的 ID（elementor-element-xxx）指定。
   ========================================================== */

/* 文本段落：段距由 Elementor 控制 */
.elementor-widget-text-editor p {
	margin: 0 0 12px;
}

.elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

.elementor-widget.fy-center .elementor-widget-container {
	text-align: center;
}

/* 标题上方的绿色短线（居中标题与案例段落） */
.elementor-widget.fy-bar > .elementor-widget-container::before,
.elementor-widget.fy-accent-bar > .elementor-widget-container::before {
	content: '';
	display: block;
	width: 75px;
	height: 4px;
	margin: 0 0 20px;
	background: var(--c-primary);
}

.elementor-widget.fy-bar > .elementor-widget-container::before {
	margin: 0 auto 20px;
}

/* 设计理念下方的分隔线 */
.elementor-widget.fy-facts {
	margin-top: 84px;
}

.elementor-widget.fy-facts > .elementor-widget-container {
	padding-top: 44px;
	border-top: 1px solid rgb(214, 222, 218);
}

/* 勾号列表 */
.elementor-widget.fy-checks .elementor-icon-list-icon {
	padding-right: 8px;
	color: var(--c-primary);
}

.elementor-widget.fy-checks .elementor-icon-list-icon svg {
	fill: var(--c-primary);
}

.elementor-widget.fy-checks .elementor-icon-list-text {
	color: var(--c-text);
	font-size: 16px;
	line-height: 24px;
}

.elementor-widget.fy-checks--grey .elementor-icon-list-text {
	color: #656565;
}

.elementor-widget.fy-checks.fy-center .elementor-icon-list-item {
	justify-content: center;
}

.elementor-widget.fy-checks--2col .elementor-icon-list-items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7px 20px;
}

.elementor-widget.fy-facts .elementor-icon-list-icon {
	padding-right: 10px;
	color: var(--c-primary);
}

.elementor-widget.fy-facts .elementor-icon-list-text {
	color: var(--c-primary);
	font-size: 14px;
	line-height: 24px;
}

/* 设计理念手风琴 */
.elementor-widget.fy-acc .elementor-accordion-item {
	border: 0;
}

.elementor-widget.fy-acc .elementor-tab-title {
	padding: 10px;
	color: var(--c-ink);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	background: transparent;
	border: 0;
}

.elementor-widget.fy-acc .elementor-tab-title.elementor-active {
	background: var(--c-primary);
	color: var(--c-white);
}

.elementor-widget.fy-acc .elementor-accordion-icon {
	color: var(--c-ink);
}

.elementor-widget.fy-acc .elementor-tab-title.elementor-active .elementor-accordion-icon {
	color: var(--c-white);
}

.elementor-widget.fy-acc .elementor-tab-content {
	padding: 10px 10px 24px;
	border: 0;
	color: var(--c-text);
	font-size: 14px;
	line-height: 21px;
}

.elementor-widget.fy-acc .elementor-tab-content p {
	margin: 0;
}

/* 按钮 */
.elementor-widget-button .elementor-button {
	border-radius: 0;
	font-family: var(--font);
}

.elementor-widget-button.fy-btn .elementor-button {
	height: 42px;
	padding: 0 36px;
	font-size: 17px;
	font-weight: 600;
	line-height: 42px;
}

.elementor-widget-button.fy-btn--outline .elementor-button {
	background: transparent;
	border: 1px solid var(--c-white);
	color: var(--c-white);
}

.elementor-widget-button.fy-btn--outline .elementor-button:hover {
	background: var(--c-white);
	color: var(--c-ink);
}

.elementor-widget-button.fy-btn--primary .elementor-button {
	height: 46px;
	padding: 0 40px;
	background: var(--c-primary);
	color: var(--c-white);
	line-height: 46px;
}

.elementor-widget-button.fy-btn--primary-outline .elementor-button {
	height: 42px;
	padding: 0 24px;
	background: transparent;
	border: 1px solid var(--c-primary);
	color: var(--c-primary);
	font-size: 16px;
	font-weight: 300;
	line-height: 40px;
}

.elementor-widget-button.fy-btn--primary-outline .elementor-button:hover {
	background: var(--c-primary);
	color: var(--c-white);
}

/* 图片：固定高度与裁切 */
.elementor-widget-image img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.elementor-widget-image.fy-h-451 img { height: 451px; }
.elementor-widget-image.fy-h-420 img { height: 420px; }
.elementor-widget-image.fy-h-349 img { height: 349px; }
.elementor-widget-image.fy-h-270 img { height: 270px; }
.elementor-widget-image.fy-h-486 img { height: 486px; }
.elementor-widget-image.fy-h-168 img { height: 168px; }
.elementor-widget-image.fy-photo-428 img { height: 428px; }
.elementor-widget-image.fy-photo-188 img { height: 188px; }

.elementor-widget-image.fy-logo img {
	width: 300px;
	height: 125px;
	margin: 0 auto;
	object-fit: contain;
}

.elementor-widget-image.fy-logo-179 img {
	width: 179px;
	height: 134px;
	object-fit: contain;
}

.elementor-widget-image.fy-svc-icon img {
	width: 44px;
	height: 44px;
	margin: 0 auto;
	object-fit: contain;
}

.elementor-widget-image.fy-accent-img {
	position: relative;
	isolation: isolate;
}

.elementor-widget-image.fy-accent-img::before {
	content: '';
	position: absolute;
	top: -20px;
	left: -20px;
	z-index: -1;
	width: 80px;
	height: 80px;
	background: var(--c-primary);
}

.elementor-widget-image.fy-quote img {
	display: none;
}

/* 图文框：认证与订购方式 */
.elementor-widget.fy-cert .elementor-image-box-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 19px;
	margin-bottom: 23px;
}

.elementor-widget.fy-cert .elementor-image-box-img {
	flex: 0 0 59px;
	width: 59px;
	margin: 0;
}

.elementor-widget.fy-cert .elementor-image-box-img img {
	width: 59px;
	height: 59px;
	object-fit: contain;
}

.elementor-widget.fy-cert .elementor-image-box-title {
	margin: 0;
	color: var(--c-ink);
	font-size: 25px;
	font-weight: 500;
	line-height: 35px;
}

.elementor-widget.fy-cert .elementor-image-box-description {
	margin: 0;
	color: var(--c-primary);
	font-size: 16px;
	line-height: 24px;
}

.elementor-widget.fy-order .elementor-image-box-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.elementor-widget.fy-order .elementor-image-box-img {
	flex: 0 0 174px;
	width: 174px;
	margin: 0;
}

.elementor-widget.fy-order .elementor-image-box-img img {
	width: 174px;
	height: 174px;
	object-fit: cover;
}

.elementor-widget.fy-order .elementor-image-box-title {
	margin: 6px 0 8px;
	color: var(--c-primary);
	font-size: 22px;
	font-weight: 600;
	line-height: 33px;
}

.elementor-widget.fy-order .elementor-image-box-description {
	margin: 0;
	color: var(--c-text);
	font-size: 16px;
	line-height: 24px;
}

/* 地图高度 */
.elementor-widget-google_maps .elementor-custom-embed,
.elementor-widget-google_maps iframe {
	display: block;
	width: 100%;
	height: 500px !important;
}

/* 固定高度（按 Elementor ID） */
/* 首屏轮播：两张幻灯片叠放在同一格子里，由 hero-slider.js 切换 */
.elementor-element-herobox {
	position: relative;
	min-height: 100vh;
	overflow: hidden;
}

.elementor-element-herobox > .elementor-container > .elementor-column > .elementor-element-populated {
	display: grid;
}

.elementor-element-herobox .elementor-element-heroslide1,
.elementor-element-herobox .elementor-element-heroslide2 {
	grid-area: 1 / 1;
	min-height: 100vh;
}

.elementor-element-herobox .elementor-element-heroslide1 > .elementor-container,
.elementor-element-herobox .elementor-element-heroslide2 > .elementor-container {
	display: flex;
	align-items: center;
	min-height: calc(100vh - 120px);
}

.fy-hero-js [data-id^="heroslide"] {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.9s var(--ease), visibility 0.9s;
}

.fy-hero-js [data-id^="heroslide"].is-active {
	opacity: 1;
	visibility: visible;
}

.fy-hero-arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--c-white);
	font-size: 44px;
	line-height: 44px;
	cursor: pointer;
	opacity: 0.8;
	transition: opacity 0.3s ease;
}

.fy-hero-arrow:hover {
	opacity: 1;
}

.fy-hero-arrow--prev {
	left: 28px;
}

.fy-hero-arrow--next {
	right: 28px;
}

.fy-hero-dots {
	position: absolute;
	bottom: 40px;
	left: 50%;
	z-index: 5;
	display: flex;
	gap: 10px;
	transform: translateX(-50%);
}

.fy-hero-dot {
	width: 40px;
	height: 3px;
	padding: 0;
	border: 0;
	background: rgba(255, 255, 255, 0.45);
	cursor: pointer;
}

.fy-hero-dot.is-active {
	background: var(--c-white);
}

.elementor-element-abhero01,
.elementor-element-cthero01,
.elementor-element-nwhero01,
.elementor-element-pghero01 {
	min-height: 467px;
}

.elementor-element-case0001 > .elementor-element-populated,
.elementor-element-case0002 > .elementor-element-populated,
.elementor-element-case0003 > .elementor-element-populated {
	box-sizing: border-box;
	min-height: 500px;
}

.elementor-element-supcard1 > .elementor-element-populated,
.elementor-element-supcard2 > .elementor-element-populated,
.elementor-element-supcard3 > .elementor-element-populated {
	box-sizing: border-box;
	min-height: 309px;
}

.elementor-element-svc0001 > .elementor-element-populated,
.elementor-element-svc0002 > .elementor-element-populated,
.elementor-element-svc0003 > .elementor-element-populated,
.elementor-element-svc0004 > .elementor-element-populated {
	box-sizing: border-box;
	min-height: 290px;
}

.elementor-element-tech0001 > .elementor-element-populated,
.elementor-element-tech0002 > .elementor-element-populated,
.elementor-element-tech0003 > .elementor-element-populated {
	box-sizing: border-box;
	min-height: 575px;
}

.elementor-element-inqinfo > .elementor-element-populated {
	box-sizing: border-box;
	min-height: 565px;
}

.elementor-element-ctform01 > .elementor-element-populated {
	box-sizing: border-box;
	min-height: 565px;
	box-shadow: 0 0 0 1px var(--c-line);
}

/* 询盘表单（短代码输出的容器） */
.fyj-form-wrap {
	width: 100%;
}

.fyj-form-wrap .fyj-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 16px;
}
