/*
 * Mr Chava · Menú: aspecto de la cabecera 223, el menú y el pie 146, validado por el titular el 28-oct-2026
 * («estilizar sin cambiar sustancialmente»). Mismo logo, mismos enlaces, mismos colores y mismas letras.
 * Es el CSS de la maqueta combinada (tools/mrchava_velocidad/mcp/diseno/propuesta-menu-pie-combinada-20261028.css),
 * sin cambios: el menú de la versión intermedia con el bloque negro afinado y el pie de la primera propuesta.
 * Los selectores son los ID de los elementos de esas dos plantillas: si se rehacen, este CSS deja de aplicarse.
 */

/* ---------- Cabecera (ordenador) ---------- */
/* Letra algo más pequeña y firme: hoy es 19,2 px de peso normal y se ve tosca */
.elementor-element-4165102f .elementor-nav-menu--main .elementor-item { font-size: 17px !important; font-weight: 500 !important; letter-spacing: .01em; }
/* Flechas de los submenús más pequeñas y suaves, para que no pesen más que el texto */
.elementor-element-4165102f .sub-arrow svg { width: 11px !important; height: 11px !important; opacity: .6; }
/* Desplegable: de caja gris pegada a la foto a tarjeta blanca con borde fino y sombra leve */
.elementor-element-4165102f .elementor-nav-menu--main .sub-menu {
	background: #fff !important; border: 1px solid #eee; border-top: 0; border-radius: 0 0 6px 6px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .09); padding: 6px 0 !important; min-width: 240px !important;
}
.elementor-element-4165102f .elementor-nav-menu--main .sub-menu .elementor-sub-item { font-size: 15px !important; padding: 11px 20px !important; }

/* ---------- Menú abierto (móvil y tableta) ---------- */
/* Panel blanco con una raya fina entre filas, texto alineado con el logo (hoy va 10 px más a la izquierda), filas
   menos altas, flecha a la derecha y submenú sangrado. La fila abierta sigue en negro, como hoy. */
.elementor-element-4165102f .elementor-nav-menu__container.elementor-nav-menu--dropdown {
	background: #fff !important; border-top: 1px solid #ececec; box-shadow: 0 14px 28px rgba(0, 0, 0, .08);
}
.elementor-element-4165102f .elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-menu { background: #fafafa !important; }
.elementor-element-4165102f .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-item {
	font-size: 17px !important; font-weight: 500 !important; padding: 17px 20px !important; border-bottom: 1px solid #ececec;
	display: flex !important; align-items: center;
}
.elementor-element-4165102f .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-sub-item {
	font-size: 16px !important; padding: 15px 20px 15px 36px !important; border-bottom: 1px solid #f0f0f0;
}
.elementor-element-4165102f .elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-arrow { margin-left: auto; }

@media (max-width: 767px) {
	/* Cabecera del móvil algo más baja: de unos 106 a unos 86 px */
	.elementor-element-465c1d59 { padding-top: 20px !important; padding-bottom: 20px !important; }
}

/* Bloque negro al pasar el ratón o en la sección activa: el mismo negro, pero ajustado al texto y con esquinas suaves,
   en lugar del rectángulo que hoy rebasa la línea de la cabecera. Elementor lo pinta con ::before (efecto de barrido). */
.elementor-element-4165102f .e--pointer-background .elementor-item { padding-top: 13px !important; padding-bottom: 27px !important; }
.elementor-element-4165102f .e--pointer-background .elementor-item::before {
	left: 6px !important; right: 6px !important; bottom: 19px !important; border-radius: 6px;
}
.elementor-element-4165102f .e--pointer-background .elementor-item:hover::before,
.elementor-element-4165102f .e--pointer-background .elementor-item:focus::before,
.elementor-element-4165102f .e--pointer-background .elementor-item.highlighted::before,
.elementor-element-4165102f .e--pointer-background .elementor-item.elementor-item-active::before { top: 5px !important; }
/* El desplegable baja justo bajo la línea de la cabecera, ya como tarjeta completa */
.elementor-element-4165102f .elementor-nav-menu--main .sub-menu { border-top: 1px solid #eee !important; border-radius: 6px !important; margin-top: -8px !important; }

/* Desplegable de ordenador y menú del móvil: la fila negra pasa a ser una pastilla negra con margen y esquinas suaves */
.elementor-element-4165102f .elementor-nav-menu--dropdown a { position: relative; z-index: 0; }
.elementor-element-4165102f .elementor-nav-menu--dropdown a:hover,
.elementor-element-4165102f .elementor-nav-menu--dropdown a:focus,
.elementor-element-4165102f .elementor-nav-menu--dropdown a.highlighted,
.elementor-element-4165102f .elementor-nav-menu--dropdown a.elementor-item-active { background-color: transparent !important; }
.elementor-element-4165102f .elementor-nav-menu--dropdown a:hover::before,
.elementor-element-4165102f .elementor-nav-menu--dropdown a:focus::before,
.elementor-element-4165102f .elementor-nav-menu--dropdown a.highlighted::before,
.elementor-element-4165102f .elementor-nav-menu--dropdown a.elementor-item-active::before {
	content: ""; position: absolute; inset: 5px 10px; background: #000; border-radius: 6px; z-index: -1;
}
/* La flecha, del color del texto: hoy queda negra sobre negro y desaparece dentro del bloque */
.elementor-element-4165102f .elementor-item:hover .sub-arrow svg,
.elementor-element-4165102f .elementor-item:focus .sub-arrow svg,
.elementor-element-4165102f .elementor-item.highlighted .sub-arrow svg,
.elementor-element-4165102f .elementor-item.elementor-item-active .sub-arrow svg { fill: currentColor !important; opacity: .85; }

/* ---------- Pie ---------- */
.elementor-element-47be4583 { padding-top: 64px !important; padding-bottom: 32px !important; }
.elementor-element-a835656 .elementor-heading-title,
.elementor-element-bb195c4 .elementor-heading-title {
	font-family: "League Spartan", sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
	letter-spacing: .14em; color: #fff !important; margin-bottom: 8px;
}
.elementor-element-8578c90 .elementor-icon-list-text,
.elementor-element-902c3c6 .elementor-icon-list-text,
.elementor-element-ab7e4e8 .elementor-icon-list-text {
	color: #b5b5b5 !important; font-size: 17px !important; line-height: 1.75; transition: color .2s ease;
}
.elementor-element-8578c90 a:hover .elementor-icon-list-text,
.elementor-element-902c3c6 a:hover .elementor-icon-list-text,
.elementor-element-ab7e4e8 a:hover .elementor-icon-list-text { color: #fff !important; font-weight: 700; font-style: italic; }
.elementor-element-24683dff { border-top: 1px solid #2b2b2b !important; border-top-style: solid !important; margin-top: 28px !important; padding-top: 22px !important; }
/* Iconos sobrios para la dirección y el correo */
.elementor-element-ab7e4e8 .elementor-icon-list-item { display: flex; align-items: center; }
.elementor-element-ab7e4e8 .elementor-icon-list-item::before {
	content: ""; width: 16px; height: 16px; margin-right: 10px; flex: 0 0 16px; background: #8c8c8c;
	-webkit-mask: var(--mc-icono) center / contain no-repeat; mask: var(--mc-icono) center / contain no-repeat;
}
.elementor-element-ab7e4e8 .elementor-icon-list-item:nth-child(1) { --mc-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.elementor-element-ab7e4e8 .elementor-icon-list-item:nth-child(2) { --mc-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }

/* Ordenador: el logo a la izquierda de las dos columnas, en vez de encima, para no dejar media página vacía */
@media (min-width: 1025px) {
	.elementor-element-3f7be791 > .elementor-widget-wrap {
		display: grid !important; grid-template-columns: minmax(180px, 1fr) 2fr; column-gap: 64px;
		max-width: 1140px; margin: 0 auto; align-items: start;
	}
	.elementor-element-24683dff { grid-column: 1 / -1; }
	.elementor-element-795b01f, .elementor-element-64273c6 { width: 100% !important; max-width: none !important; }
	.elementor-element-795b01f { display: block !important; padding: 0 !important; }
	.elementor-element-64273c6 img { width: 150px !important; max-width: 150px !important; height: auto !important; }
	.elementor-element-64273c6, .elementor-element-64273c6 .elementor-widget-container { text-align: left !important; }
	.elementor-element-64273c6 img { margin: 4px 0 0 !important; display: block; }
	.elementor-element-795b01f { justify-items: start !important; justify-content: start !important; --justify-items: start; }
	.elementor-element-64273c6 { justify-self: start !important; width: auto !important; }
	.elementor-element-64273c6 .elementor-widget-container { margin-left: 0 !important; }
	.elementor-element-ab7e4e8 .elementor-icon-list-items { display: flex; gap: 40px; }
}
@media (max-width: 767px) {
	.elementor-element-47be4583 { padding-top: 48px !important; }
	.elementor-element-8578c90 .elementor-icon-list-text,
	.elementor-element-902c3c6 .elementor-icon-list-text,
	.elementor-element-ab7e4e8 .elementor-icon-list-text { font-size: 16px !important; line-height: 1.4; }
	.elementor-element-8578c90 .elementor-icon-list-item,
	.elementor-element-902c3c6 .elementor-icon-list-item { padding: 6px 0 !important; }
	.elementor-element-24683dff .elementor-column { width: 100% !important; }
	.elementor-element-ab7e4e8 .elementor-icon-list-item { padding: 5px 0 !important; }
	.elementor-element-64273c6 img { max-width: 120px; }
}
