.main_menu
{
	width: calc(100% - var(--ancho_sidebar));
	position: fixed;
	user-select: none;
	z-index: 3000;
	height: var(--altura_menu);
	top: 0;
	right: 0;
}

/*##################################################################################################################################*/
/*##################################################################################################################################*/
/*##################################################################################################################################*/


.main_menu > ul /* Cada menu ul dentro del menu principal */
{
	list-style: none;
	display: flex;
	height: var(--altura_menu);
}

.main_menu li
{
	width: 100%;
	min-width: 50px;
	position: relative;
	list-style: none;
}

.menu_header /* Menu Header HARD CODED CENTER */
{
	justify-content: center;
}

.menu_text_cont
{
	color: white;
	background-color: rgb(0, 0, 0);
	/* Alto explicito: antes la altura salia del padding + el line-box de la fuente (=42px)
	   y no llegaba a los 45 del layout -> quedaba un hueco de 3px a lo ancho de la pantalla. */
	height: var(--altura_menu);
	padding: 0 10px;
	font-weight: bold;
	display: flex;
	align-items: center;
	/* width en 100% (no calc(100% - 20px)): con box-sizing:border-box el padding ya
	   esta incluido en el 100%. La formula vieja restaba 20px pensada para content-box,
	   donde el padding se sumaba aparte y el resultado cancelaba justo a 100%; con
	   border-box esa resta ya no cancela y dejaba un hueco de 20px sin pintar en el
	   borde derecho de cada item del menu (detectado por t2_layout.js en x=1270). */
	width: 100%;
	box-sizing: border-box;
}

.main_menu span[class^="icon-"]
{
	color: #DF7401;
}

.menu_text_cont:hover
{
	background-color: rgb(36, 36, 36);
	cursor: pointer;
}

.menu_text
{
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sub_menu_indicator
{
	position: absolute;
	right: 5%;
	color: #DF7401;
}

/* Sub menus handler desde JS */
/* ======================================== */
/* PD: Parecen repetitivas pero NOOO */
.hide_menu
{
	display: none;
}
/* ======================================== */

.sub_menu_base_desplegado
{
	display: flex;
	list-style: none;
	flex-direction: column;
}

.sub_menu_avanzado_desplegado
{
	position: absolute;
	top: 0;
	left: 100%;
	width: auto;
	min-width: 100%;   /* al menos tan ancho como la columna del padre: los dos bloques calzan */
	display: flex;
	list-style: none;
	flex-direction: column;
	cursor: pointer;
	z-index: 100;
}

.sub_menu_avanzado_desplegado > li
{
	width: 105%;
	min-width: 50px;
	position: relative;
	list-style: none;
}

/* Sin lugar a la derecha (menu pegado al borde derecho de la pantalla, p. ej. "Mas opciones"): el
   submenu se abre a la izquierda, al ras del borde izquierdo del padre. Antes el ul quedaba sobre
   el padre (left:0) y se corrian los li con right:100%, que con el 105% de ancho los dejaba 12px
   montados sobre el desplegable y mas angostos que el: una ficha suelta. */
.sub_menu_window_overflow
{
	left: auto;
	right: 100%;
}
.sub_menu_window_overflow > li
{
	right: auto;
	width: 100%;
}
/* La flecha apunta hacia donde se abre el submenu. */
.main_menu li:has(> ul.sub_menu_window_overflow) > a > .sub_menu_indicator
{
	transform: scaleX(-1);
}


/* ======================================================================= */

.menu_desactivado > a
{
	color: #c0c0c0;
}

.menu_desactivado > a > span[class^="icon-"]
{
	color: #c0c0c0;
}

.menu_desactivado > a:hover
{
	background-color: rgb(0, 0, 0);
    cursor: default;
}