.yepx-sec {
	--yepx-sec-pad-d: 3rem;
	--yepx-sec-pad-t: 2.25rem;
	--yepx-sec-pad-m: 1.75rem;
	--yepx-sec-max: 77.5rem;
	box-sizing: border-box;
	width: 100%;
	padding-block: var(--yepx-sec-pad-d);
	min-width: 0;
	position: relative;
}
.yepx-sec--has-img {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.yepx-sec--overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: var(--yepx-sec-overlay-color, #102c3b);
	opacity: var(--yepx-sec-overlay, 0.4);
}
.yepx-sec--overlay > .yepx-sec__inner {
	position: relative;
	z-index: 1;
}
.yepx-sec--pd-none { --yepx-sec-pad-d: 0; }
.yepx-sec--pd-tight { --yepx-sec-pad-d: 1.25rem; }
.yepx-sec--pd-normal { --yepx-sec-pad-d: 3rem; }
.yepx-sec--pd-wide { --yepx-sec-pad-d: 5rem; }
.yepx-sec--pt-none { --yepx-sec-pad-t: 0; }
.yepx-sec--pt-tight { --yepx-sec-pad-t: 1rem; }
.yepx-sec--pt-normal { --yepx-sec-pad-t: 2.25rem; }
.yepx-sec--pt-wide { --yepx-sec-pad-t: 3.5rem; }
.yepx-sec--pm-none { --yepx-sec-pad-m: 0; }
.yepx-sec--pm-tight { --yepx-sec-pad-m: 0.75rem; }
.yepx-sec--pm-normal { --yepx-sec-pad-m: 1.75rem; }
.yepx-sec--pm-wide { --yepx-sec-pad-m: 2.5rem; }
.yepx-sec--max-content { --yepx-sec-max: 45rem; }
.yepx-sec--max-wide { --yepx-sec-max: 77.5rem; }
.yepx-sec--max-full { --yepx-sec-max: 100%; }
.yepx-sec__inner {
	width: min(var(--yepx-sec-max), calc(100% - 2rem));
	margin-inline: auto;
	min-width: 0;
}
/* has-bg paint = 100vw. Theme .yepx-sec{max-width:100%} must not win (left-shift). */
.yepx-sec.yepx-sec--has-bg,
.yepx-home-v2 .yepx-sec.yepx-sec--has-bg,
.yepx-preview .yepx-sec.yepx-sec--has-bg,
.yepx-sec.yepx-sec--max-full,
.yepx-sec:has(.yepx-vc--full) {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
/* Content rail = BT inner (1240 / left ~100 @1440). */
.yepx-sec.yepx-sec--has-bg > .yepx-sec__inner {
	width: min(var(--yepx-container-max, 1240px), calc(100% - 28px));
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.yepx-sec.yepx-sec--align-center:not(.yepx-sec--max-full) > .yepx-sec__inner {
	margin-left: auto;
	margin-right: auto;
}
.yepx-sec--max-full .yepx-sec__inner {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-inline: 1rem;
}
.yepx-sec:has(.yepx-vc--full) .yepx-sec__inner {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
}
@media (max-width: 1024px) {
	.yepx-sec { padding-block: var(--yepx-sec-pad-t); }
}
@media (max-width: 767px) {
	.yepx-sec { padding-block: var(--yepx-sec-pad-m); }
}
