.rlabs-mm-wrapper {
	box-sizing: border-box;
	width: 100%;
}

.rlabs-mm-wrapper * {
	box-sizing: border-box;
}

.rlabs-mm-empty-notice {
	padding: 16px;
	background: #fff3cd;
	border: 1px solid #ffe08a;
	border-radius: 6px;
	font-size: 13px;
	color: #7a5c00;
}

/* ---------- Navbar (items raiz) ---------- */
.rlabs-mm-navbar {
	width: 100%;
	min-width: 0;
}

.rlabs-mm-nav-list {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 32px;
	flex-wrap: wrap;
	min-width: 0;
}

.rlabs-mm-nav-item {
	position: relative;
}

.rlabs-mm-nav-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0;
	padding: 0;
	margin: 0 !important;
	font: inherit !important;
	line-height: inherit !important;
	text-transform: inherit;
	letter-spacing: inherit;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
	transition: color 0.15s ease, background-color 0.15s ease;
	appearance: none;
	-webkit-appearance: none;
}

.rlabs-mm-nav-caret {
	position: relative;
	width: 8px;
	height: 8px;
	transition: transform 0.2s ease;
}

.rlabs-mm-nav-caret::before {
	content: "";
	position: absolute;
	left: 1px;
	top: -2px;
	width: 6px;
	height: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}

.rlabs-mm-nav-item.is-open .rlabs-mm-nav-caret {
	transform: rotate(180deg);
}

/* ---------- Paneles (acordeon) ---------- */
.rlabs-mm-panels {
	width: 100%;
}

.rlabs-mm-panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease;
}

/* Respaldo robusto: si por cualquier motivo el cálculo de altura en JS
   no corre (timing, caché, conflicto de tema), esta clase garantiza que
   el panel sea visible en cuanto se le agregue "is-open". */
.rlabs-mm-panel.is-open {
	max-height: 3000px !important;
}

.rlabs-mm-panel-inner {
	padding-top: 24px;
}

/* Modo "ancho completo": el panel se sale del contenedor padre (aunque
   este tenga max-width) y ocupa todo el ancho de la ventana, tal como
   en el diseño de referencia. Requiere que ningún ancestro tenga
   overflow:hidden — si el header lo tuviera, habría que quitarlo. */
.rlabs-mm-panels--full .rlabs-mm-panel {
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
}

.rlabs-mm-panels--full .rlabs-mm-panel-inner {
	box-sizing: border-box;
	width: 100%;
}

/* ---------- Columnas ---------- */
.rlabs-mm-columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 40px;
	row-gap: 24px;
	align-items: start;
}

.rlabs-mm-column {
	min-width: 0;
}

.rlabs-mm-item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	line-height: 1.4;
	margin-bottom: 7px;
}

.rlabs-mm-item a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.rlabs-mm-item a:hover {
	text-decoration: none;
}

.rlabs-mm-level-0 {
	text-transform: uppercase;
	margin-top: 14px;
	margin-bottom: 8px;
}

.rlabs-mm-level-0:first-child {
	margin-top: 0;
}

.rlabs-mm-level-1 {
	text-transform: uppercase;
}

.rlabs-mm-level-2 {
	text-transform: uppercase;
	padding-left: 22px;
}

/* Iconos dibujados en CSS puro */
.rlabs-mm-icon {
	flex: 0 0 auto;
	position: relative;
	width: 12px;
	height: 14px;
	margin-top: 2px;
}

.rlabs-icon-hook::before {
	content: "";
	position: absolute;
	left: 2px;
	top: -3px;
	width: 6px;
	height: 10px;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	border-radius: 0 0 0 3px;
}

.rlabs-icon-hook::after {
	content: "";
	position: absolute;
	left: 2px;
	bottom: 1px;
	width: 0;
	height: 0;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 4px solid currentColor;
}

.rlabs-icon-chevron::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 3px;
	width: 6px;
	height: 6px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

.rlabs-mm-custom-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	font-size: 13px;
	margin-top: 0;
}

.rlabs-mm-custom-icon-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.rlabs-mm-columns {
		grid-template-columns: repeat(2, 1fr);
	}
	.rlabs-mm-nav-list {
		flex-wrap: wrap;
		gap: 18px;
	}
}

@media (max-width: 600px) {
	.rlabs-mm-columns {
		grid-template-columns: 1fr;
	}
}
