/* FIX ARRAY — Layout guardrails for premium installations page 1319. */

/* Global page rule: every section keeps a consistent usable width. */
.fixarray-installations-section > .elementor-container,
.fixarray-installations-section > .e-con-inner {
	width: min(1420px, calc(100% - 68px)) !important;
	max-width: none !important;
	margin-right: auto !important;
	margin-left: auto !important;
}
.fixarray-installations-section > .elementor-container > .elementor-column,
.fixarray-installations-section > .e-con-inner > .e-con {
	min-width: 0 !important;
}

/* Hero: balanced copy, protected visual, no overlap. */
.ix-premium-hero .fixarray-service-hero__inner {
	width: 100% !important;
	max-width: none !important;
	min-height: 620px !important;
	padding: 56px 0 !important;
	grid-template-columns: minmax(0, .94fr) minmax(520px, 1.06fr) !important;
	gap: 54px !important;
	align-items: center !important;
}
.ix-premium-hero .fixarray-service-hero__copy {
	width: 100% !important;
	max-width: 660px !important;
}
.ix-premium-hero .fixarray-service-hero__title {
	max-width: 650px !important;
	font-size: clamp(44px, 3.35vw, 54px) !important;
	line-height: 1.015 !important;
	letter-spacing: -.04em !important;
	text-wrap: balance !important;
}
.ix-premium-hero .fixarray-service-hero__description {
	max-width: 630px !important;
	font-size: 16.5px !important;
	line-height: 1.58 !important;
}
.ix-premium-hero .fixarray-service-hero__visual {
	display: grid !important;
	grid-template-rows: minmax(320px, 1fr) auto !important;
	gap: 14px !important;
	min-width: 0 !important;
	min-height: 500px !important;
	padding: 18px !important;
}
.ix-premium-hero .ix-installation-console {
	position: relative !important;
	inset: auto !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 320px !important;
}
.ix-premium-hero .fixarray-service-hero__panel {
	position: relative !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 16px 18px !important;
}
.ix-premium-hero .fixarray-service-hero__panel-title {
	max-width: 560px !important;
	font-size: 24px !important;
	line-height: 1.12 !important;
	text-wrap: balance !important;
}
.ix-premium-hero .fixarray-service-hero__panel-text {
	max-width: 600px !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
}

/* Visit section: real two-column grid and a compact 3 x 2 checklist. */
.ix-visit-section {
	padding-top: 64px !important;
	padding-bottom: 64px !important;
}
.ix-visit-section > .elementor-container,
.ix-visit-section > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, .92fr) minmax(620px, 1.08fr) !important;
	gap: 54px !important;
	align-items: center !important;
}
.ix-visit-section .elementor-element-ixpvisit2,
.ix-visit-section .elementor-element-ixpvisit6 {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
}
.ix-visit-section .elementor-element-ixpvisit2 {
	padding: 0 !important;
}
.ix-visit-section .elementor-element-ixpvisit4 .elementor-heading-title {
	max-width: 680px !important;
	font-size: 42px !important;
	line-height: 1.08 !important;
	text-wrap: balance !important;
}
.ix-visit-section .elementor-element-ixpvisit5 {
	max-width: 690px !important;
}
.ix-site-survey {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 24px !important;
}
.ix-survey__top {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) !important;
	gap: 18px !important;
	align-items: center !important;
}
.ix-survey__top strong {
	text-align: right !important;
	font-size: 17px !important;
	line-height: 1.2 !important;
}
.ix-survey__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
}
.ix-site-card {
	min-height: 146px !important;
	padding: 16px 14px 15px !important;
}
.ix-site-card strong {
	font-size: 13.5px !important;
	line-height: 1.22 !important;
}
.ix-site-card span {
	font-size: 11px !important;
	line-height: 1.38 !important;
}
.ix-survey__note {
	min-height: 48px !important;
	margin-top: 12px !important;
}

@media (max-width: 1180px) {
	.ix-premium-hero .fixarray-service-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(460px, .94fr) !important;
		gap: 38px !important;
	}
	.ix-premium-hero .fixarray-service-hero__title {
		font-size: clamp(42px, 4vw, 50px) !important;
	}
	.ix-visit-section > .elementor-container,
	.ix-visit-section > .e-con-inner {
		grid-template-columns: minmax(0, .9fr) minmax(540px, 1.1fr) !important;
		gap: 36px !important;
	}
	.ix-site-card {
		min-height: 154px !important;
	}
}

@media (max-width: 1024px) {
	.fixarray-installations-section > .elementor-container,
	.fixarray-installations-section > .e-con-inner {
		width: min(100%, calc(100% - 48px)) !important;
	}
	.ix-premium-hero .fixarray-service-hero__inner {
		grid-template-columns: minmax(0, 1fr) !important;
		min-height: 0 !important;
		padding: 52px 0 !important;
	}
	.ix-premium-hero .fixarray-service-hero__copy {
		max-width: 760px !important;
	}
	.ix-premium-hero .fixarray-service-hero__visual {
		min-height: 520px !important;
	}
	.ix-visit-section > .elementor-container,
	.ix-visit-section > .e-con-inner {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 30px !important;
	}
	.ix-visit-section .elementor-element-ixpvisit4 .elementor-heading-title {
		max-width: 760px !important;
	}
	.ix-visit-section .elementor-element-ixpvisit5 {
		max-width: 780px !important;
	}
	.ix-survey__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.ix-site-card {
		min-height: 128px !important;
	}
}

@media (max-width: 767px) {
	.fixarray-installations-section > .elementor-container,
	.fixarray-installations-section > .e-con-inner {
		width: min(100%, calc(100% - 32px)) !important;
	}
	.ix-premium-hero .fixarray-service-hero__inner {
		padding: 42px 0 !important;
		gap: 26px !important;
	}
	.ix-premium-hero .fixarray-service-hero__title {
		font-size: 34px !important;
		line-height: 1.04 !important;
	}
	.ix-premium-hero .fixarray-service-hero__visual {
		grid-template-rows: minmax(280px, 1fr) auto !important;
		min-height: 480px !important;
		padding: 14px !important;
	}
	.ix-premium-hero .ix-installation-console {
		min-height: 280px !important;
	}
	.ix-premium-hero .fixarray-service-hero__panel-title {
		font-size: 21px !important;
	}
	.ix-visit-section {
		padding-top: 46px !important;
		padding-bottom: 46px !important;
	}
	.ix-visit-section .elementor-element-ixpvisit4 .elementor-heading-title {
		font-size: 31px !important;
	}
	.ix-survey__top {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 7px !important;
	}
	.ix-survey__top strong {
		text-align: left !important;
	}
	.ix-survey__grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.ix-site-card {
		min-height: 96px !important;
	}
}
