/* FBM Menu (mu-plugins/fbm-menu.php): the header's links (id fbm-menu-nav) fold behind a hamburger at 1024px and
 * below. Keyed on CSS ids: Elementor 4.3.5 never renders the atomic `attributes` prop. */
.fbm-menu-toggle { display: none !important; }
.fbm-menu-toggle {
	align-items: center;
	justify-content: center;
	flex: 0 0 44px !important; /* a 44px tap target: the bar lets its other items shrink, never this one */
	width: 44px !important;
	height: 44px !important;
	/* !important: the theme's button styles (1px pink border, padding) load after this file on live sites */
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	box-shadow: none !important;
	min-height: 0 !important;
	line-height: 1 !important;
	color: inherit;
	cursor: pointer;
}
/* the theme paints a hovered / focused <button> pink: the hamburger keeps the header's own look */
.fbm-menu-toggle:hover,
.fbm-menu-toggle:focus,
.fbm-menu-toggle:active { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.fbm-menu-toggle svg { display: block; width: 26px; height: 26px; }
.fbm-menu-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (max-width: 1024px) {
	/* only once the script has taken the menu (html.fbm-menu-on): no script, the editor, or an id on the wrong element
	 * leave the links where they are */
	html.fbm-menu-on #fbm-menu-nav { display: none !important; }
	html.fbm-menu-on .fbm-menu-toggle { display: inline-flex !important; order: 99; cursor: pointer; }
	/* the row that held the links: logo left, the rest (and the hamburger) right, on one line */
	.fbm-menu-bar {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
	}
	.fbm-menu-bar > * { min-width: 0; }
	html.fbm-menu-on #fbm-menu-nav.fbm-menu-open {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		position: fixed !important;
		z-index: 9999 !important;
		margin: 0 !important;
		padding: 8px 0 !important;
		max-height: calc(100vh - 80px);
		overflow-y: auto;
		box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
	}
	html.fbm-menu-on #fbm-menu-nav.fbm-menu-open > * {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		text-align: left !important;
	}
	html.fbm-menu-on #fbm-menu-nav.fbm-menu-open a { display: block; padding: 14px 24px; }
}
