/**
 * Front-end sticky state for LF Header/Footer templates.
 *
 * No background, typography or shadow is imposed here. Those remain under the
 * Elementor/Elegant Mega Menu controls, including its sticky-background and
 * sticky-shadow settings. This stylesheet manages only positioning and layout
 * preservation while the header is fixed.
 */
#lf-hf-header.lf-hf-header--sticky {
	position: relative;
	z-index: 9998;
}

#lf-hf-header.lf-hf-header--sticky.lf-hf-header--is-sticky {
	position: fixed !important;
	top: var(--lf-hf-sticky-top, 0px) !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
	z-index: 9998 !important;
}

.lf-hf-sticky-placeholder {
	display: none;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	pointer-events: none;
}

.lf-hf-sticky-placeholder.lf-hf-sticky-placeholder--active {
	display: block;
}

/* A stable target for the Elegant Mega Menu sticky style controls. */
.lf-hf-header--is-sticky .lf-elegant-menu--is-sticky,
.lf-hf-header--is-sticky .lf-elegant-mega-menu--is-sticky,
.lf-hf-header--is-sticky .lf-em-menu--is-sticky {
	will-change: transform;
}

/* v2.0.2: prevent Elegant Mega Menu sticky defaults from painting a white
 * surface over a dark Elementor header after scroll. Template-specific inline
 * CSS still owns the exact color values; this is only a safe fallback. */
#lf-hf-header.lf-hf-header--is-sticky .elementor-widget-lf_elegant_menu,
#lf-hf-header.lf-hf-header--is-sticky .elementor-widget-lf_elegant_menu > .elementor-widget-container,
#lf-hf-header.lf-hf-header--is-sticky .elementor-widget-lf_elegant_menu .lf-elegant-menu,
#lf-hf-header.lf-hf-header--is-sticky .elementor-widget-lf_elegant_menu .lf-elegant-menu--is-sticky,
#lf-hf-header.lf-hf-header--is-sticky .elementor-widget-lf_elegant_menu .lf-em-menu,
#lf-hf-header.lf-hf-header--is-sticky .elementor-widget-lf_elegant_menu .lf-em-menu--is-sticky,
#lf-hf-header.lf-hf-header--is-sticky .elementor-widget-lf_elegant_menu nav {
	background-color: transparent !important;
	background-image: none !important;
}

/* v2.0.3: Sticky/dropdown stack guard.
 * Elementor headers can contain a main navigation row followed by a secondary
 * bridge bar. When the header becomes fixed, later sibling containers may paint
 * above an open submenu unless the menu's ancestor chain owns a higher stacking
 * layer. These rules are tightly scoped to the LF header wrapper. */
#lf-hf-header,
#lf-hf-header > .elementor,
#lf-hf-header .elementor,
#lf-hf-header .elementor-section,
#lf-hf-header .elementor-container,
#lf-hf-header .elementor-column,
#lf-hf-header .elementor-widget-wrap,
#lf-hf-header .e-con,
#lf-hf-header .e-con-inner,
#lf-hf-header .elementor-element {
	overflow: visible !important;
}

#lf-hf-header.lf-hf-header--sticky,
#lf-hf-header.lf-hf-header--is-sticky {
	isolation: isolate;
}

#lf-hf-header .lf-hf-menu-stack-context,
#lf-hf-header .elementor-widget-lf_elegant_menu,
#lf-hf-header .elementor-widget-lf_elegant_menu > .elementor-widget-container,
#lf-hf-header [data-lf-elegant-menu],
#lf-hf-header .lf-elegant-menu,
#lf-hf-header .lf-elegant-mega-menu,
#lf-hf-header .lf-em-menu {
	position: relative !important;
	z-index: 100050 !important;
	overflow: visible !important;
}

#lf-hf-header .elementor-widget-lf_elegant_menu .sub-menu,
#lf-hf-header .elementor-widget-lf_elegant_menu .children,
#lf-hf-header .elementor-widget-lf_elegant_menu .dropdown-menu,
#lf-hf-header .elementor-widget-lf_elegant_menu [class*="dropdown"],
#lf-hf-header .elementor-widget-lf_elegant_menu [class*="mega-panel"],
#lf-hf-header .elementor-widget-lf_elegant_menu [class*="mega-menu"],
#lf-hf-header .lf-elegant-menu .sub-menu,
#lf-hf-header .lf-elegant-menu [class*="dropdown"],
#lf-hf-header .lf-elegant-menu [class*="mega-panel"],
#lf-hf-header .lf-elegant-menu [class*="mega-menu"],
#lf-hf-header .lf-em-menu .sub-menu,
#lf-hf-header .lf-em-menu [class*="dropdown"],
#lf-hf-header .lf-em-menu [class*="mega-panel"],
#lf-hf-header .lf-em-menu [class*="mega-menu"] {
	z-index: 100100 !important;
	overflow: visible !important;
}

#lf-hf-header .lf-h2e-contact-bridge,
#lf-hf-header .lf-h2e-contact-bridge-panel,
#lf-hf-header .lf-hf-lower-stack-context {
	position: relative !important;
	z-index: 1 !important;
}
