/**
 * Front page section builder variables (visible to all visitors when set).
 *
 * @package Nexus
 */
.nexus-builder-section-wrap .nexus-section,
.nexus-builder-section-wrap .nexus-section-inner,
.nexus-builder-section-wrap .nexus-el-section {
	color: var(--nexus-sec-text, inherit);
}

.nexus-builder-section-wrap .nexus-section-intro {
	color: var(--nexus-sec-text, var(--nexus-body-text-muted));
}

/* Headings: never fall back to --nexus-header-text (often light-headed nav); use section text or inherit body. */
.nexus-builder-section-wrap .nexus-section-title,
.nexus-builder-section-wrap .nexus-section .nexus-hero-headline,
.nexus-builder-section-wrap .nexus-section h1,
.nexus-builder-section-wrap .nexus-section h2,
.nexus-builder-section-wrap .nexus-section h3,
.nexus-builder-section-wrap .nexus-el-section .nexus-section-title,
.nexus-builder-section-wrap .nexus-el-section h1,
.nexus-builder-section-wrap .nexus-el-section h2,
.nexus-builder-section-wrap .nexus-el-section h3 {
	color: var(--nexus-sec-heading, var(--nexus-sec-text, inherit));
}

.nexus-builder-section-wrap .nexus-section .nexus-btn:not(.nexus-btn-outline),
.nexus-builder-section-wrap .nexus-section .button:not(.nexus-btn-outline) {
	background-color: var(--nexus-sec-btn-bg, var(--nexus-primary, #0f766e));
}

/* Outline links keep readable label (solid .nexus-btn uses white text; section button color can be light). */
.nexus-builder-section-wrap .nexus-section .nexus-btn.nexus-btn-outline {
	background: transparent;
	color: var(--nexus-primary, #0f766e);
	border: 2px solid var(--nexus-primary, #0f766e);
	box-shadow: none;
}

.nexus-builder-section-wrap .nexus-section .nexus-btn.nexus-btn-outline:hover {
	background: var(--nexus-primary, #0f766e);
	color: var(--nexus-button-text, #fff);
}

/* Only clear inner section paint when the builder wrap supplies its own background. */
.nexus-builder-section-wrap.nexus-section-wrap-custom-bg > .nexus-section {
	background-image: none !important;
	background-color: transparent !important;
}

/* Edge-to-edge: break to viewport even when a parent used to be .site (1200px). */
.nexus-builder-section-wrap.nexus-section-full-bleed {
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: auto;
	right: auto;
	transform: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

/*
 * Builder dock adds left/right padding to #page.site; the classic 100vw breakout math will
 * overshoot and push section chrome (toolbar ▣/⚙/✎) off-screen. While editing, keep full-bleed
 * sections within the padded canvas; use Visitor preview to verify true edge-to-edge.
 */
body.nexus-builder-active:not(.nexus-builder-dock-collapsed) #nexus-builder-sections .nexus-builder-section-wrap.nexus-section-full-bleed {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* Readable text over cover images: subtle gradient overlay (does not block clicks on content). */
.nexus-builder-section-wrap.nexus-section-has-bg-image {
	position: relative;
}

.nexus-builder-section-wrap.nexus-section-has-bg-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.52) 0%,
		rgba(0, 0, 0, 0.22) 45%,
		rgba(0, 0, 0, 0.5) 100%
	);
	pointer-events: none;
	z-index: 0;
}

/* Keep section chrome above the cover overlay; do NOT set .nexus-builder-section-actions to
   position:relative — that cancels absolute positioning and stacks the toolbar like a duplicate row. */
.nexus-builder-section-wrap.nexus-section-has-bg-image > .nexus-el-section,
.nexus-builder-section-wrap.nexus-section-has-bg-image > .nexus-section {
	position: relative;
	z-index: 1;
}

.nexus-builder-section-wrap.nexus-section-has-bg-image > .nexus-builder-section-actions {
	z-index: 2;
}

.nexus-builder-section-wrap.nexus-section-has-bg-image .nexus-hero-headline {
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}

/* Full-bleed: inner column can span the viewport (not only 1200px .site / .nexus-el-section cap). */
.nexus-builder-section-wrap.nexus-section-full-bleed .nexus-section-inner.site,
.nexus-builder-section-wrap.nexus-section-full-bleed .nexus-hero-slider-inner.site {
	max-width: none;
	width: 100%;
	box-sizing: border-box;
}

/* Full-bleed: section padding was insetting content inside the breakout strip; keep vertical rhythm only. */
.nexus-builder-section-wrap.nexus-section-full-bleed > .nexus-section {
	padding-left: 0;
	padding-right: 0;
}

.nexus-builder-section-wrap.nexus-section-full-bleed > .nexus-el-section {
	max-width: none;
	width: 100%;
}

.nexus-builder-section-wrap.nexus-section-full-bleed[data-section-base="hero"] .nexus-hero,
.nexus-builder-section-wrap.nexus-section-full-bleed[data-section-base="hero"] .nexus-hero-slider {
	min-height: clamp(300px, 42vh, 720px);
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 782px) {
	.nexus-builder-section-wrap.nexus-sec-hide-mobile {
		display: none !important;
	}
}

@media (min-width: 783px) and (max-width: 1024px) {
	.nexus-builder-section-wrap.nexus-sec-hide-tablet {
		display: none !important;
	}
}
