.mn-sticky-header {
	transition-property: transform, opacity, box-shadow, background-color, visibility;
	transition-timing-function: ease-in-out;
	will-change: transform, opacity;
}

.mn-sticky-header.mn-sticky-visible {
	visibility: visible !important;
	pointer-events: auto !important;
}

.mn-sticky-header.mn-sticky-hidden {
	visibility: hidden !important;
	pointer-events: none !important;
	opacity: 0 !important;
}

.mn-sticky-header.mn-sticky-active {
	position: fixed !important;
	width: 100% !important;
	max-width: 100vw !important;
	left: 0;
	right: 0;
}

/* Prevent modals and dropdowns from exceeding viewport width when inside sticky header.
   Simple max-width constraint without changing positioning behavior. */
@media (max-width: 768px) {
	.mn-sticky-header .mna-modal-overlay,
	.mn-sticky-header .mna-modal,
	.mn-sticky-header .mna-bell-dropdown,
	.mn-sticky-header .mna-dropdown-menu,
	.mn-sticky-header .mn-woocart-dropdown {
		max-width: 100vw !important;
		overflow-x: hidden !important;
	}
	.mn-sticky-header .mn-woocart-dropdown {
		transform: translateX(-80%) translateY(0)!important;
	}
}

.mn-sticky-placeholder {
	width: 100%;
}

.mn-sticky-transition-fade.mn-sticky-visible {
	opacity: 1 !important;
}

.mn-sticky-transition-fade.mn-sticky-hidden {
	opacity: 0 !important;
}

.mn-sticky-transition-slide.mn-sticky-visible {
	transform: translateY(0);
	opacity: 1 !important;
}

.mn-sticky-transition-slide.mn-sticky-hidden {
	transform: translateY(-100%);
}

.mn-sticky-transition-slide_fade.mn-sticky-visible {
	transform: translateY(0);
	opacity: 1 !important;
}

.mn-sticky-transition-slide_fade.mn-sticky-hidden {
	transform: translateY(-100%);
	opacity: 0 !important;
}

.mn-sticky-transition-scale.mn-sticky-visible {
	transform: scale(1);
	opacity: 1 !important;
}

.mn-sticky-transition-scale.mn-sticky-hidden {
	transform: scale(0.95);
}

.mn-sticky-transition-scale_fade.mn-sticky-visible {
	transform: scale(1);
	opacity: 1 !important;
}

.mn-sticky-transition-scale_fade.mn-sticky-hidden {
	transform: scale(0.95);
	opacity: 0 !important;
}

@media (max-width: 1024px) {
	.mn-sticky-header.mn-sticky-active {
		position: fixed !important;
	}
}

@media (max-width: 768px) {
	.mn-sticky-header {
		transition-duration: 250ms !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mn-sticky-header {
		transition: none !important;
	}
}
