/* Mobile Menu (Lopatka) - multi-level category accordion */
.solcar-mm { --mm-row-pad: 0px; --mm-row-gap: 0px; --mm-indent: 20px; --mm-chev-color: #221E24; --mm-chev-size: 16px; --mm-speed: 300ms; }

.solcar-mm-list,
.solcar-mm-sub {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--mm-row-gap, 0px);
}

.solcar-mm-item { position: relative; }

.solcar-mm-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	transition: background-color .2s ease;
}

.solcar-mm-link {
	flex: 1 1 auto;
	display: block;
	text-decoration: none;
	padding: var(--mm-row-pad, 0px) 0;
	line-height: 1.25;
}

.solcar-mm-link:hover { text-decoration: none; }

/* Toggle button + equal-size placeholder -> every row is the same height,
   even rows without a sub-level, and regardless of the icon size. */
.solcar-mm-toggle,
.solcar-mm-toggle--empty {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--mm-chev-size, 16px) !important;
	height: var(--mm-chev-size, 16px) !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	-webkit-appearance: none;
	appearance: none;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	outline: none;
	line-height: 1 !important;
	text-shadow: none;
	box-sizing: content-box;
}

/* Icon color: higher specificity beats the theme's button color, but is NOT
   !important, so the Open / Active color rules can still override it. */
.solcar-mm .solcar-mm-toggle,
.solcar-mm .solcar-mm-toggle--empty {
	color: var(--mm-chev-color, #221E24);
}

.solcar-mm-toggle { cursor: pointer; }
.solcar-mm-toggle--empty { pointer-events: none; }

.solcar-mm-toggle:hover,
.solcar-mm-toggle:focus,
.solcar-mm-toggle:active {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none;
}

.solcar-mm-chev-c,
.solcar-mm-chev-o {
	display: flex;
	align-items: center;
	justify-content: center;
}
.solcar-mm-chev-o { display: none; }

.solcar-mm-toggle svg,
.solcar-mm-toggle i {
	width: var(--mm-chev-size, 16px);
	height: var(--mm-chev-size, 16px);
	font-size: var(--mm-chev-size, 16px);
	fill: currentColor;
	color: currentColor;
	transition: transform .2s ease;
}

.solcar-mm-chev-fallback {
	width: var(--mm-chev-size, 16px);
	height: var(--mm-chev-size, 16px);
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	display: inline-block;
	transition: transform .2s ease;
}

/* Nested levels - animated open/close via grid-template-rows */
.solcar-mm-panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--mm-speed, 300ms) ease;
}

.solcar-mm-item.is-open > .solcar-mm-panel {
	grid-template-rows: 1fr;
}

.solcar-mm-panel-in {
	overflow: hidden;
	min-height: 0;
}

.solcar-mm-panel-in > .solcar-mm-sub {
	padding-left: var(--mm-indent, 20px);
}

/* Open state: rotate the single icon (no custom "open" icon set) */
.solcar-mm:not(.mm-swap-icon) .solcar-mm-item.is-open > .solcar-mm-row .solcar-mm-toggle svg,
.solcar-mm:not(.mm-swap-icon) .solcar-mm-item.is-open > .solcar-mm-row .solcar-mm-toggle i {
	transform: rotate(180deg);
}
.solcar-mm:not(.mm-swap-icon) .solcar-mm-item.is-open > .solcar-mm-row .solcar-mm-toggle .solcar-mm-chev-fallback {
	transform: rotate(225deg);
}

/* Open state: swap to the custom "open" icon */
.mm-swap-icon .solcar-mm-item.is-open > .solcar-mm-row .solcar-mm-toggle .solcar-mm-chev-c { display: none; }
.mm-swap-icon .solcar-mm-item.is-open > .solcar-mm-row .solcar-mm-toggle .solcar-mm-chev-o { display: flex; }

.solcar-mm-empty {
	padding: 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 8px;
	color: #787c82;
}
