/* Wayback Fixer auto-supplement */
/* Elementor entrance-animation elements keep visibility:hidden until frontend JS
   fires; without it (no per-page post-NNNN.css) content stays invisible. Force on. */
.elementor-invisible{opacity:1 !important;visibility:visible !important;animation:none !important;}
.elementor img,.elementor-widget-container img{max-width:100%;height:auto;}

/* ---- Mobile nav / hamburger fixes ---- */
/* Raw Elementor popup templates must stay hidden until opened */
.elementor-location-popup:not(.dialog-widget-content):not(.wf-mobile-menu-open){
	display:none !important;
}

/* Fallback mobile drawer (when Elementor Pro popup module is missing) */
.wf-mobile-menu-overlay{
	display:none;
	position:fixed;
	inset:0;
	background:rgba(0,0,0,.45);
	z-index:2147483000;
	border:0;
	padding:0;
	margin:0;
	cursor:pointer;
}
body.wf-mobile-menu-open .wf-mobile-menu-overlay{display:block;}

.elementor-location-popup.wf-mobile-menu-open,
.elementor.elementor-location-popup.wf-mobile-menu-open{
	display:block !important;
	position:fixed !important;
	top:0 !important;
	right:0 !important;
	left:auto !important;
	width:min(82vw, 340px) !important;
	height:100vh !important;
	max-height:100vh !important;
	overflow:auto !important;
	z-index:2147483001 !important;
	background:#fff !important;
	box-shadow:-8px 0 28px rgba(0,0,0,.18);
	padding:56px 20px 40px !important;
	box-sizing:border-box;
}

.wf-mobile-menu-close{
	position:absolute;
	top:12px;
	right:12px;
	z-index:2;
	width:44px;
	height:44px;
	border:0;
	padding:0;
	margin:0;
	border-radius:50%;
	background:#f2f3f5;
	color:#54595F;
	font-size:28px;
	line-height:1;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 1px 4px rgba(0,0,0,.12);
}
.wf-mobile-menu-close:hover,
.wf-mobile-menu-close:focus{
	background:#e6e8eb;
	color:#222;
	outline:none;
}
.wf-mobile-menu-close span{
	display:block;
	transform:translateY(-1px);
}

body.wf-mobile-menu-open{overflow:hidden;}

/* Ensure hamburger icon stays tappable above sticky layers */
.elementor-element-f9cfdf9,
.elementor-element-f9cfdf9 .elementor-icon,
.elementor-menu-toggle{
	position:relative;
	z-index:102;
	pointer-events:auto !important;
	cursor:pointer;
}

/* Device-hidden sticky sections must not intercept taps */
@media (max-width:1024px){
	.elementor-hidden-tablet.elementor-sticky--active,
	.elementor-hidden-mobile.elementor-sticky--active{
		pointer-events:none !important;
	}
}
@media (max-width:767px){
	.elementor-hidden-mobile.elementor-sticky--active{
		pointer-events:none !important;
	}
}
@media (min-width:1025px){
	.elementor-hidden-desktop.elementor-sticky--active{
		pointer-events:none !important;
	}
}
