/* ==========================================================================
   CSS puente entre el diseño original y las estructuras de WordPress.

   `genios.css` es la fuente de verdad y no se toca: contiene los tokens y el
   diseño tal cual se aprobó. Este archivo solo traduce ese diseño al marcado
   que generan Elementor, Astra y los plugins, que es distinto del original.

   Regla: aquí nunca se redefinen valores, se reutilizan las variables.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CABECERA
   Réplica de `.header` del diseño original. La original era fija con un
   menú propio en JavaScript; aquí la estructura la pone Elementor y el
   aspecto lo pone esto.
   -------------------------------------------------------------------------- */

.genios-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	min-height: var(--header-h);
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--color-border);
	z-index: var(--z-header);
	transition: box-shadow var(--transition);
}

/* Astra deja hueco para la cabecera fija; sin esto el contenido queda debajo. */
body {
	padding-top: var(--header-h);
}

.genios-header .genios-logo img {
	height: 52px;
	width: auto;
}

/* --- Enlaces del menú ---------------------------------------------------- */

.genios-header .menu-item a.hfe-menu-item,
.genios-header .menu-item a.hfe-sub-menu-item {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 0.975rem;
	color: var(--color-text-dark);
	position: relative;
	padding-block: 0.4rem;
	white-space: nowrap;
}

/* Subrayado en gradiente que crece de izquierda a derecha, como el original. */
.genios-header .menu-item a.hfe-menu-item::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: var(--gradient-primary);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--transition);
}

.genios-header .menu-item a.hfe-menu-item:hover::after,
.genios-header .current-menu-item a.hfe-menu-item::after {
	transform: scaleX(1);
	transform-origin: left;
}

.genios-header .current-menu-item a.hfe-menu-item {
	color: var(--color-primary-deep);
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   2. BOTONES
   Elementor trae su propio `.elementor-button`. En lugar de pelear por
   especificidad con la clase `.btn` original, se replica aquí el mismo
   aspecto sobre el marcado de Elementor.

   Nota: en el widget de botón, la clase CSS que se escribe en Elementor
   aterriza en el contenedor, no en el `<a>`. Por eso los selectores van
   siempre de la envoltura hacia dentro.
   -------------------------------------------------------------------------- */

body .genios-btn-wrap .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	padding: 0.95rem 1.7rem;
	border: 2px solid transparent;
	border-radius: var(--radius-pill);
	white-space: nowrap;
	transition: transform var(--transition), box-shadow var(--transition),
		background var(--transition), color var(--transition),
		border-color var(--transition);
}

/* Texto gris oscuro sobre el gradiente, nunca blanco: da 12,6:1 de contraste
   frente al 1,9:1 del blanco. No cambiar sin recalcular. */
body .genios-btn-wrap .elementor-button,
body .genios-btn-wrap--primary .elementor-button {
	background: var(--gradient-primary);
	color: var(--color-text-dark);
	box-shadow: var(--shadow-sm);
}

body .genios-btn-wrap .elementor-button:hover {
	color: var(--color-text-dark);
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
}

body .genios-btn-wrap .elementor-button:active {
	transform: translateY(0) scale(0.985);
}

body .genios-btn-wrap--outline .elementor-button {
	background: transparent;
	color: var(--color-text-dark);
	border-color: var(--color-border);
}

body .genios-btn-wrap--outline .elementor-button:hover {
	color: var(--color-text-dark);
	border-color: var(--color-primary-dark);
	background: var(--color-primary-soft);
	transform: translateY(-2px);
}

body .genios-btn-wrap--solid .elementor-button {
	background: var(--color-white);
	color: var(--color-text-dark);
	box-shadow: var(--shadow-sm);
}

body .genios-btn-wrap--solid .elementor-button:hover {
	color: var(--color-text-dark);
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}

/* --------------------------------------------------------------------------
   3. MÓVIL
   -------------------------------------------------------------------------- */

@media (max-width: 921px) {
	.genios-header .genios-logo img {
		height: 44px;
	}

	/* El menú desplegable se apoya en el fondo sólido, no en el traslúcido
	   de la cabecera, para que el texto sea legible al superponerse. */
	.genios-header .hfe-nav-menu__toggle-wrapper + nav,
	.genios-header .hfe-dropdown {
		background: var(--color-white);
		border-bottom: 1px solid var(--color-border);
		box-shadow: var(--shadow-md);
	}
}
