/**
 * Sticky Header Styles - Only positioning, let Elementor handle everything else
 */

.sticky-header,
.site-header.sticky-header {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	/* Preserve margins from template - don't override with !important */
	padding-top: 0 !important;
	z-index: 9999 !important;
	transform: translateY(0) !important;
}

/* Elementor header wrapper - Only positioning, preserve margins */
.elementor-header-wrapper.sticky-header {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	/* Preserve margins from Elementor template - don't override with !important */
	padding-top: 0 !important;
	z-index: 9999 !important;
	transform: translateY(0) !important;
}

/* Ensure regular header wrapper also respects margins and alignment */
.elementor-header-wrapper {
	/* Allow margins to be applied from Elementor template */
}

/* Remove Elementor's default 10px padding from header columns to allow vertical alignment */
.elementor-header-wrapper .elementor-column > .elementor-element-populated,
.elementor-header-wrapper .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.elementor-header-wrapper .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated,
.elementor-header-wrapper .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.elementor-header-wrapper .elementor-column-gap-wide > .elementor-column > .elementor-element-populated,
.elementor-header-wrapper .elementor-column-gap-wider > .elementor-column > .elementor-element-populated {
	/* Remove Elementor's default padding that interferes with vertical alignment */
	/* Let Elementor handle spacing via margins and flexbox alignment */
	padding: 0 !important;
}

/* Ensure no gaps from child elements - remove all top spacing */
.sticky-header *,
.elementor-header-wrapper.sticky-header * {
	box-sizing: border-box;
}

/* Only remove padding-top from the first/top-level section to prevent gaps */
/* Inner sections should be able to use Elementor's padding settings */
.sticky-header > .elementor-section:first-child,
.elementor-header-wrapper.sticky-header > .elementor-section:first-child {
	/* Only remove padding-top from the outermost section to prevent header gap */
	padding-top: 0 !important;
}

/* Don't override padding on inner sections - let Elementor handle it */
.sticky-header .elementor-inner-section,
.elementor-header-wrapper.sticky-header .elementor-inner-section {
	/* Preserve all padding settings from Elementor - don't override */
}

.sticky-header .elementor-container,
.elementor-header-wrapper.sticky-header .elementor-container {
	/* Preserve margins from Elementor - don't override with !important */
	/* Only remove padding-top to prevent gaps */
	padding-top: 0 !important;
}

/* Override Elementor column gap padding that causes top gap */
/* Only remove top padding/margin that causes gaps - preserve Elementor's alignment */
.sticky-header .elementor-column,
.elementor-header-wrapper.sticky-header .elementor-column {
	/* Only remove top margin/padding that causes gaps - preserve Elementor alignment */
	padding-top: 0 !important;
	/* Don't override margin-top - Elementor handles vertical alignment via flexbox */
}

.sticky-header .elementor-column > .elementor-element-populated,
.elementor-header-wrapper.sticky-header .elementor-column > .elementor-element-populated {
	/* Remove all padding to prevent interference with Elementor's vertical alignment */
	/* Elementor's default 10px padding interferes with flexbox alignment */
	padding: 0 !important;
	/* Don't override margins - Elementor handles alignment via flexbox */
}

/* Override Elementor column gap default padding for sticky headers */
/* Remove all padding (including default 10px) to allow Elementor's flexbox alignment to work */
.sticky-header .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.elementor-header-wrapper.sticky-header .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
	/* Remove Elementor's default 10px padding that interferes with vertical alignment */
	padding: 0 !important;
	/* Don't override margins - Elementor handles alignment */
}

.sticky-header .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated,
.elementor-header-wrapper.sticky-header .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated {
	/* Remove padding to allow Elementor's flexbox alignment to work */
	padding: 0 !important;
	/* Don't override margins - Elementor handles alignment */
}

.sticky-header .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.elementor-header-wrapper.sticky-header .elementor-column-gap-extended > .elementor-column > .elementor-element-populated {
	/* Remove padding to allow Elementor's flexbox alignment to work */
	padding: 0 !important;
	/* Don't override margins - Elementor handles alignment */
}

.sticky-header .elementor-column-gap-wide > .elementor-column > .elementor-element-populated,
.elementor-header-wrapper.sticky-header .elementor-column-gap-wide > .elementor-column > .elementor-element-populated {
	/* Remove padding to allow Elementor's flexbox alignment to work */
	padding: 0 !important;
	/* Don't override margins - Elementor handles alignment */
}

.sticky-header .elementor-column-gap-wider > .elementor-column > .elementor-element-populated,
.elementor-header-wrapper.sticky-header .elementor-column-gap-wider > .elementor-column > .elementor-element-populated {
	/* Remove padding to allow Elementor's flexbox alignment to work */
	padding: 0 !important;
	/* Don't override margins - Elementor handles alignment */
}

/* This is now handled above - only first/top-level section gets padding-top removed */

.sticky-header .elementor-column:first-child,
.elementor-header-wrapper.sticky-header .elementor-column:first-child {
	/* Only remove top padding - preserve margins and alignment for Elementor */
	padding-top: 0 !important;
	/* Don't override margins - Elementor handles alignment */
}

.sticky-header .elementor-column:first-child > .elementor-element-populated,
.elementor-header-wrapper.sticky-header .elementor-column:first-child > .elementor-element-populated {
	/* Remove all padding to allow Elementor's flexbox alignment to work */
	padding: 0 !important;
	/* Don't override margins - Elementor handles alignment */
}

/* Prevent Elementor floating bars from interfering */
.elementor-header-wrapper.sticky-header,
.sticky-header {
	transform: translateY(0) !important;
}

/* Adjust for admin bar */
.admin-bar .sticky-header,
.admin-bar .site-header.sticky-header,
.admin-bar .elementor-header-wrapper.sticky-header {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	.admin-bar .sticky-header,
	.admin-bar .site-header.sticky-header,
	.admin-bar .elementor-header-wrapper.sticky-header {
		top: 46px !important;
	}
}
