/* Aventra Menu Element — front-end base styles */

.avn-menu { position: relative; }
.avn-menu-notice {
	padding: 8px 12px; border: 1px dashed #c3c4c7; border-radius: 6px;
	color: #646970; font-size: 13px; background: #f6f7f7;
}

.avn-menu-list {
	list-style: none; margin: 0; padding: 0;
	display: flex; align-items: center; flex-wrap: wrap;
}

/* Mobile-only panel chrome — hidden on desktop by default. */
.avn-menu-backdrop,
.avn-menu-panel-head,
.avn-submenu-toggle { display: none; }
.avn-menu-list li { position: relative; margin: 0; }
.avn-menu-list a {
	display: inline-block; text-decoration: none; color: inherit;
	line-height: 1.4; transition: color .15s ease;
}

/* Alignment */
.avn-menu--align-center .avn-menu-list { justify-content: center; }
.avn-menu--align-right  .avn-menu-list { justify-content: flex-end; }

/* Vertical layout */
.avn-menu--vertical .avn-menu-list { flex-direction: column; align-items: stretch; }
.avn-menu--vertical .avn-menu-list a { padding: 6px 0; }

/* Uppercase */
.avn-menu--uppercase .avn-menu-list a { text-transform: uppercase; letter-spacing: .03em; }

/* Dropdowns (horizontal) */
.avn-menu--horizontal .sub-menu {
	list-style: none; margin: 0; padding: 8px 0;
	position: absolute; top: 100%; left: 0; min-width: 200px;
	background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
	border-radius: 8px; z-index: 999;
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.avn-menu--horizontal .menu-item-has-children:hover > .sub-menu,
.avn-menu--horizontal .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1; visibility: visible; transform: translateY(0);
}
.avn-menu--horizontal .sub-menu li { display: block; }
.avn-menu--horizontal .sub-menu a { display: block; padding: 8px 18px; white-space: nowrap; }
.avn-menu--horizontal .sub-menu .sub-menu { top: 0; left: 100%; }
.avn-menu--horizontal .menu-item-has-children > a::after {
	content: ""; display: inline-block; width: .4em; height: .4em; margin-left: .45em;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px); opacity: .7;
}

/* Vertical submenus: simple indented expansion */
.avn-menu--vertical .sub-menu {
	list-style: none; margin: 0; padding: 0 0 0 16px;
}

/* Hamburger toggle (hidden on desktop, shown via inline media query) */
.avn-menu-toggle {
	display: none; align-items: center; justify-content: center;
	flex-direction: column; gap: 5px;
	width: 44px; height: 44px; padding: 0;
	background: transparent; border: 0; border-radius: 8px;
	color: inherit; cursor: pointer;
	transition: background .15s ease;
}
.avn-menu-toggle:hover { background: rgba(0, 0, 0, .05); }
.avn-menu-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.avn-menu-toggle-bar {
	display: block; width: 24px; height: 2px; border-radius: 2px;
	background: currentColor;
	transition: transform .25s ease, opacity .2s ease;
}
/* Animate to an X only for a non-drawer inline toggle; the drawer has its
   own close button, so the bars simply reset when the panel is open. */
.avn-menu.is-open .avn-menu-toggle-bar { transform: none; opacity: 1; }

.screen-reader-text {
	position: absolute; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
