/* ==========================================================================
   Accordion Menu for Elementor
   ========================================================================== */

/* Reset list styles */
.accordion-menu-widget .accordion-menu,
.accordion-menu-widget .accordion-submenu {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Widget container */
.accordion-menu-widget {
	width: 100%;
	box-sizing: border-box;
}

/* Each menu item */
.accordion-menu-widget .menu-item {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

/* Clickable row */
.accordion-menu-widget .accordion-item-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	cursor: pointer;
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	transition: color 0.2s ease, background-color 0.2s ease;
	user-select: none;
	-webkit-user-select: none;
}

.accordion-menu-widget .accordion-item-header:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -2px;
}

/* Link fills available space; color is inherited from the header */
.accordion-menu-widget .accordion-item-link {
	flex: 1;
	display: block;
	text-decoration: none;
	color: inherit;
	font: inherit;
	line-height: inherit;
	pointer-events: none; /* Header div handles all clicks for items with submenus */
}

/* Items without submenus still need the link to be clickable */
.accordion-menu-widget .menu-item:not(.has-submenu) .accordion-item-link {
	pointer-events: auto;
	cursor: pointer;
}

/* When icon is on the left the link should not stretch to fill all space */
.accordion-menu-widget .accordion-item-header:has(.accordion-toggle-icon:first-child) .accordion-item-link {
	flex: 0 1 auto;
}

/* Toggle icon wrapper */
.accordion-menu-widget .accordion-toggle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 14px;
	line-height: 1;
	transition: color 0.2s ease;
	/* Prevent icon from capturing its own pointer events so
	   the parent header click handler handles toggling */
	pointer-events: none;
}

.accordion-menu-widget .accordion-toggle-icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* Open-state icon is hidden by default; JS swaps visibility */
.accordion-menu-widget .accordion-icon-open {
	display: none;
}

/* Submenus are hidden by default; jQuery slideDown/Up controls display */
.accordion-menu-widget .accordion-submenu {
	display: none;
	box-sizing: border-box;
	width: 100%;
	overflow: hidden;
}
