/**
 * Menú de usuario del widget "Estado de Sesión CUME".
 *
 * Cada color arranca en la variable global de Elementor (Ajustes del sitio →
 * Colores globales) con el valor de marca como respaldo. Los controles del
 * widget sobrescriben estas variables por instancia.
 *
 * @package CUME_Core
 */

.cume-usermenu-wrap {
	display: flex;
	justify-content: flex-end;
}

.cume-usermenu {
	/*
	 * El sitio es oscuro: superficies negras (CUME black surface / contrast),
	 * bordes de tarjeta, texto blanco cálido, Morado 2 y acento ámbar.
	 */
	--cume-um-avatar: 40px;
	--cume-um-avatar-bg: var(--e-global-color-d1f174c, #6e68a8);
	--cume-um-avatar-color: var(--e-global-color-6517dcc, #f8f6f1);
	--cume-um-ring: var(--e-global-color-secondary, #ffa800);

	--cume-um-trigger-color: var(--e-global-color-6517dcc, #f8f6f1);
	--cume-um-trigger-bg: transparent;
	--cume-um-trigger-bg-hover: var(--e-global-color-f9f2957, #0a0a0c);
	--cume-um-trigger-border: var(--e-global-color-8297c8e, #2a2a2e);

	--cume-um-panel-width: 290px;
	--cume-um-panel-bg: var(--e-global-color-dcd60da, #141418);
	--cume-um-panel-border: var(--e-global-color-8297c8e, #2a2a2e);
	--cume-um-panel-radius: 4px; /* Radio base de la plataforma. */

	--cume-um-title: var(--e-global-color-6517dcc, #f8f6f1);
	--cume-um-role-bg: var(--e-global-color-secondary, #ffa800);
	--cume-um-role-color: var(--e-global-color-f299341, #181818);
	--cume-um-muted: var(--e-global-color-text, #7a7a7a);

	--cume-um-item: var(--e-global-color-6517dcc, #f8f6f1);
	--cume-um-icon: var(--e-global-color-d1f174c, #6e68a8);
	--cume-um-item-hover: var(--e-global-color-f9f2957, #0a0a0c);
	--cume-um-accent: var(--e-global-color-secondary, #ffa800);

	--cume-um-login-bg: var(--e-global-color-secondary, #ffa800);
	--cume-um-login-color: var(--e-global-color-f299341, #181818);
	--cume-um-login-bg-hover: var(--e-global-color-3632cb9, #d68d00);

	position: relative;
	display: inline-flex;
}

/* ---------------------------------------------------------------- Activador */

.cume-usermenu__trigger {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 4px 12px 4px 4px;
	border: 1px solid var(--cume-um-trigger-border);
	border-radius: var(--cume-um-panel-radius);
	background: var(--cume-um-trigger-bg);
	color: var(--cume-um-trigger-color);
	font: inherit;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.cume-usermenu__trigger:hover,
.cume-usermenu.is-open .cume-usermenu__trigger {
	background: var(--cume-um-trigger-bg-hover);
	/* El tema pone su propio color de botón al pasar: se mantiene el nuestro. */
	color: var(--cume-um-trigger-color);
}

/* Solo el círculo: sin píldora ni fondo; el aro marca el estado. */
.cume-usermenu__trigger--solo,
.cume-usermenu__trigger--solo:hover,
.cume-usermenu.is-open .cume-usermenu__trigger--solo {
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
}

.cume-usermenu__trigger:focus-visible {
	outline: 2px solid var(--cume-um-ring);
	outline-offset: 2px;
}

.cume-usermenu__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: var(--cume-um-avatar);
	height: var(--cume-um-avatar);
	border-radius: 50%;
	background: var(--cume-um-avatar-bg);
	color: var(--cume-um-avatar-color);
	font-family: var(--e-global-typography-primary-font-family, "Bebas Neue"), sans-serif;
	font-size: calc(var(--cume-um-avatar) * 0.42);
	line-height: 1;
	letter-spacing: 0.04em;
	box-shadow: 0 0 0 2px transparent;
	transition: box-shadow 0.2s ease;
	user-select: none;
}

.cume-usermenu__trigger:hover .cume-usermenu__avatar,
.cume-usermenu.is-open .cume-usermenu__trigger .cume-usermenu__avatar {
	box-shadow: 0 0 0 2px var(--cume-um-panel-bg), 0 0 0 4px var(--cume-um-ring);
}

.cume-usermenu__nombre {
	max-width: 14ch;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-weight: 600;
}

.cume-usermenu__flecha {
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.cume-usermenu.is-open .cume-usermenu__flecha {
	transform: rotate(180deg);
}

/* ---------------------------------------------------------------- Panel */

.cume-usermenu__panel {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 9999;
	width: min(var(--cume-um-panel-width), calc(100vw - 32px));
	padding: 8px;
	border: 1px solid var(--cume-um-panel-border);
	border-radius: var(--cume-um-panel-radius);
	background: var(--cume-um-panel-bg);
	box-shadow: 0 24px 48px -16px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(0, 0, 0, 0.4);
	text-align: left;
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.cume-usermenu--izquierda .cume-usermenu__panel {
	right: auto;
	left: 0;
}

.cume-usermenu__panel[hidden] {
	display: none;
}

.cume-usermenu.is-open .cume-usermenu__panel {
	opacity: 1;
	transform: none;
}

.cume-usermenu__cabecera {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 10px 14px;
	border-bottom: 1px solid var(--cume-um-panel-border);
}

.cume-usermenu__avatar--grande {
	--cume-um-avatar: 52px;
}

.cume-usermenu__datos {
	min-width: 0;
}

.cume-usermenu__titulo {
	margin: 0 0 4px;
	color: var(--cume-um-title);
	font-weight: 600;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.cume-usermenu__rol {
	display: inline-block;
	margin: 0 0 6px;
	padding: 2px 8px;
	border-radius: var(--cume-um-panel-radius);
	background: var(--cume-um-role-bg);
	color: var(--cume-um-role-color);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.cume-usermenu__correo {
	margin: 0;
	color: var(--cume-um-muted);
	font-size: 13px;
	line-height: 1.35;
	/* Si no cabe, se parte tras la arroba (<wbr>), no a mitad de palabra. */
	overflow-wrap: break-word;
}

.cume-usermenu__lista {
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

.cume-usermenu__lista li {
	margin: 0;
	padding: 0;
}

.cume-usermenu__pie {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid var(--cume-um-panel-border);
}

/* ---------------------------------------------------------------- Opciones */

.cume-usermenu__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: var(--cume-um-panel-radius);
	color: var(--cume-um-item);
	font-size: 15px;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.cume-usermenu__item::before {
	content: "";
	position: absolute;
	top: 8px;
	bottom: 8px;
	left: 0;
	width: 3px;
	border-radius: 3px;
	background: var(--cume-um-accent);
	opacity: 0;
	transition: opacity 0.15s ease;
}

.cume-usermenu__item:hover,
.cume-usermenu__item:focus-visible {
	background: var(--cume-um-item-hover);
	/* El tema colorea los enlaces al pasar: aquí manda el color del widget. */
	color: var(--cume-um-item);
	outline: none;
}

.cume-usermenu__item:hover::before,
.cume-usermenu__item:focus-visible::before {
	opacity: 1;
}

.cume-usermenu__icono {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	color: var(--cume-um-icon);
}

/* ---------------------------------------------------------------- Sin sesión */

.cume-usermenu__login {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: var(--cume-um-panel-radius);
	background: var(--cume-um-login-bg);
	color: var(--cume-um-login-color);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.cume-usermenu__login:hover,
.cume-usermenu__login:focus-visible {
	background: var(--cume-um-login-bg-hover);
	color: var(--cume-um-login-color);
}

.cume-usermenu__login .cume-usermenu__icono {
	width: 18px;
	height: 18px;
	color: currentColor;
}

/*
 * En móvil, los botones flotantes de Elementor (p. ej. el de WhatsApp) viven
 * en una capa por encima del header y taparían el menú: mientras está abierto
 * se desvanecen, y vuelven al cerrarlo.
 */
@media (max-width: 767px) {
	.elementor-fixed {
		transition: opacity 0.15s ease;
	}

	body.cume-usermenu-abierto .elementor-fixed {
		opacity: 0;
		pointer-events: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cume-usermenu__trigger,
	.cume-usermenu__avatar,
	.cume-usermenu__flecha,
	.cume-usermenu__panel,
	.cume-usermenu__item,
	.cume-usermenu__login {
		transition: none;
	}
}
