/* ==========================================================================
   MegaImporter · Páginas maquetadas con Elementor
   Clases que se ponen en Elementor → Avanzado → Clases CSS. Usan las variables de base.css.
   --------------------------------------------------------------------------
   1. Textos (hero, entradilla, nota, anchos máximos)
   2. Columnas y botones
   3. Tarjetas e iconos (Caja de icono, Icono)
   4. Pasos sobre fondo oscuro
   5. Listas de iconos
   6. Acordeón (Acordeón anidado de Elementor)
   7. Tira de compatibilidad y bordes de sección
   8. Maqueta del panel (widget HTML)
   9. Diagrama del flujo (widget HTML)
   10. Banner final
   11. Capturas del panel (widget HTML)
   12. Responsive (999.98px y 689.98px)
   13. Casos de uso (ilustraciones, problema)
   14. Preguntas frecuentes (buscador y grupos)
   15. Contacto (tarjetas, formulario de Contact Form 7, confirmación)
   16. Textos legales
   ========================================================================== */

/* 1. Textos =============================================================== */
.mi-t-hero .elementor-heading-title {
	font-size: clamp(36px, 3.2vw + 10px, 56px);
	line-height: 1.1;
	letter-spacing: -0.02em;
}
.mi-t-lead,
.mi-t-lead p {
	font-size: 18px;
	line-height: 30px;
	color: var(--mi-sec);
}
.mi-t-lead-oscuro,
.mi-t-lead-oscuro p {
	font-size: 18px;
	line-height: 30px;
	color: var(--mi-texto);
}
.mi-paso__txt,
.mi-oscuro .mi-paso__txt {
	font-size: 17px;
	line-height: 28px;
	color: var(--mi-blanco);
}
.mi-t-nota,
.mi-t-nota p {
	font-size: 14px;
	line-height: 20px;
	color: var(--mi-sec);
}
.mi-t-nota strong {
	color: var(--mi-navy);
	font-weight: 600;
}
.mi-t-tarjeta .elementor-heading-title {
	font-family: var(--mi-titulo);
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: var(--mi-navy);
}
.elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}
.mi-max-560 { max-width: 560px; }
.mi-max-580 { max-width: 580px; }
.mi-max-620 { max-width: 620px; }
.mi-max-760 { max-width: 760px; }
.mi-max-720 { max-width: 720px; }
.mi-max-820 { max-width: 820px; }
.mi-max-900 { max-width: 900px; }
.mi-max-600 { max-width: 600px; }
.mi-max-780 { max-width: 780px; }
.mi-max-860 { max-width: 860px; }
.mi-max-960 { max-width: 960px; }
.e-con.mi-centrado { margin-inline: auto; }
.mi-t-manifiesto .elementor-heading-title {
	font-size: clamp(32px, 2.4vw + 14px, 48px);
	line-height: 1.15;
	letter-spacing: -0.02em;
}
.mi-t-grande,
.mi-t-grande p {
	font-size: 19px;
	line-height: 32px;
	color: var(--mi-texto);
}
.mi-t-grande strong {
	font-weight: 600;
	color: var(--mi-navy);
}
.mi-px-fila {
	display: block;
	width: 8px;
	height: 8px;
	background: var(--mi-azul);
	box-shadow: 12px 0 0 var(--mi-turquesa), 24px 0 0 var(--mi-navy);
}
.mi-margen-arriba-16 { margin-top: 16px; }
.e-con.mi-sec-borde-abajo { border-bottom: 1px solid var(--mi-borde); }

/* 2. Columnas y botones ===================================================== */
.e-con.mi-col {
	min-width: 0;
}
.e-con.mi-botones {
	--width: auto;
}
.mi-botones .elementor-widget-button {
	width: auto;
}
body .elementor-widget.mi-boton-enlace .elementor-button {
	background: transparent;
	padding: 0;
	min-height: 44px;
	color: var(--mi-azul-texto);
	text-decoration: underline;
	text-underline-offset: 3px;
}
body .elementor-widget.mi-boton-enlace .elementor-button:hover {
	background: transparent;
	color: var(--mi-navy);
}
.elementor-button .elementor-button-icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
}

/* 3. Tarjetas e iconos ===================================================== */
.elementor-widget.mi-tarjeta,
.e-con.mi-tarjeta {
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
	box-shadow: var(--mi-sombra);
}
.elementor-widget.mi-tarjeta {
	padding: 32px;
}
.elementor-widget.mi-tarjeta-plana {
	padding: 28px;
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
}
.mi-tarjeta-plana .elementor-icon-box-title,
.mi-tarjeta-plana .elementor-icon-box-title a {
	font-size: 20px;
	line-height: 28px;
	font-weight: 600;
}
.mi-tarjeta .elementor-icon-box-title {
	font-weight: 600;
}
.mi-tarjeta-plana .elementor-icon-box-description,
.mi-tarjeta .elementor-icon-box-description {
	margin: 0;
	font-size: 16px;
	line-height: 26px;
}
.mi-tarjeta .elementor-icon-box-description {
	font-size: 17px;
	line-height: 28px;
}
.elementor-icon svg {
	fill: none;
}
.elementor-widget.mi-tarjeta-oscura {
	padding: 32px 28px;
	background: var(--mi-navy);
	border: 1px solid var(--mi-navy);
	border-radius: var(--mi-radio);
}
.mi-tarjeta-oscura .elementor-icon-box-description {
	margin: 0;
	font-size: 16px;
	line-height: 26px;
}
.mi-plat {
	transition: box-shadow 0.15s;
}
.elementor-widget.mi-plat {
	padding: 32px 28px;
}
.mi-plat:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 88, 0.10);
}
.mi-plat .elementor-icon-box-title a {
	color: var(--mi-navy);
	text-decoration: none;
}
.mi-plat .elementor-icon-box-title a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.mi-plat .elementor-icon-box-description {
	font-size: 16px !important;
	line-height: 26px !important;
}
.mi-con-px--claro::after {
	content: "";
	position: absolute;
	top: 14px;
	right: 26px;
	width: 6px;
	height: 6px;
	background: var(--mi-azul);
	box-shadow: 8px 0 0 var(--mi-turquesa), 8px 8px 0 var(--mi-cian);
	pointer-events: none;
}
.mi-con-px--claro {
	position: relative;
}
.elementor-widget.mi-con-px {
	position: relative;
}
.elementor-widget.mi-tarjeta-oscura.mi-con-px::after {
	background: var(--mi-azul);
	box-shadow: 8px 0 0 var(--mi-turquesa), 8px 8px 0 var(--mi-cian);
}

/* Precios */
.e-con.mi-max-880-hijos > .e-con-inner {
	max-width: 880px;
}
.e-con.mi-auto {
	--width: auto;
}
.e-con.mi-max-340 {
	max-width: 340px;
}
.e-con.mi-tarjeta-precio {
	position: relative;
	box-shadow: 0 8px 24px rgba(0, 0, 88, 0.10);
}
.e-con.mi-tarjeta-precio::after {
	content: "";
	position: absolute;
	top: 22px;
	right: 34px;
	width: 8px;
	height: 8px;
	background: var(--mi-azul);
	box-shadow: 10px 0 0 var(--mi-turquesa), 10px 10px 0 var(--mi-cian);
}
.mi-precio__desde,
.mi-oscuro .mi-precio__desde {
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: var(--mi-pie);
}
.mi-precio {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
}
.mi-precio__num {
	font-family: var(--mi-titulo);
	font-weight: 700;
	font-size: clamp(48px, 4vw + 20px, 72px);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--mi-blanco);
}
.mi-precio__iva {
	font-size: 17px;
	line-height: 26px;
	color: var(--mi-pie);
}
.mi-precio__incl {
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-weight: 600;
	color: var(--mi-blanco);
}
.mi-etiqueta-ok {
	display: inline-flex;
	padding: 3px 10px;
	border-radius: 6px;
	background: var(--mi-turquesa);
	color: var(--mi-navy);
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
}
.mi-precio__extra,
.mi-oscuro .mi-precio__extra {
	font-size: 16px;
	line-height: 24px;
	color: var(--mi-pie);
}
.mi-precio__extra strong {
	color: var(--mi-blanco);
	font-weight: 600;
}
.mi-precio__label .elementor-heading-title {
	font-family: var(--mi-cuerpo);
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mi-turquesa) !important;
}
.mi-lista-incluye .elementor-icon-list-items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 12px 32px;
}
.mi-lista-incluye .elementor-icon-list-item {
	margin: 0 !important;
	padding: 0 !important;
	align-items: flex-start;
}
.mi-lista-incluye .elementor-icon-list-text {
	font-size: 16px;
	line-height: 24px;
	color: var(--mi-blanco) !important;
}
.mi-lista-incluye .elementor-icon-list-icon {
	margin-top: 2px; /* (24 px de línea - 20 px de icono) / 2 */
}
.mi-boton-ancho .elementor-button {
	width: 100%;
	min-height: 52px;
	justify-content: center;
	font-size: 17px;
}
.mi-ej-caja {
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
	box-shadow: var(--mi-sombra);
	overflow: hidden;
}
.mi-ej {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 17px;
	line-height: 26px;
}
.mi-ej th,
.mi-ej td {
	padding: 18px 24px;
	border: 0;
	border-bottom: 1px solid var(--mi-borde);
	text-align: left;
}
.mi-ej thead th {
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mi-sec);
	background: var(--mi-fondo);
}
.mi-ej thead th:last-child {
	text-align: right;
}
.mi-ej tbody th {
	font-weight: 500;
	color: var(--mi-texto);
}
.mi-ej td {
	text-align: right;
	font-family: var(--mi-titulo);
	font-weight: 600;
	font-size: 20px;
	color: var(--mi-navy);
	white-space: nowrap;
}
.mi-ej td small {
	font-family: var(--mi-cuerpo);
	font-weight: 400;
	font-size: 14px;
	color: var(--mi-sec);
}
.mi-ej tbody tr:last-child th,
.mi-ej tbody tr:last-child td {
	border-bottom: 0;
}
.mi-ej .mi-ej-base th,
.mi-ej .mi-ej-base td {
	background: #EEF9FF;
}

/* Tabla de columnas (landings) */
.mi-cols-caja {
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
	box-shadow: var(--mi-sombra);
	overflow-x: auto;
}
.mi-cols {
	width: 100%;
	min-width: 760px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 20px;
}
.mi-cols caption {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}
.mi-cols th {
	padding: 12px 16px;
	text-align: left;
	border: 0;
	background: var(--mi-navy);
	color: var(--mi-blanco);
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-weight: 600;
	font-size: 13px;
	white-space: nowrap;
}
.mi-cols td {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--mi-borde);
	color: var(--mi-texto);
	white-space: nowrap;
}
.mi-cols tr:last-child td {
	border-bottom: 0;
}

/* Tabla comparativa */
.mi-cmp-caja {
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
	box-shadow: var(--mi-sombra);
	overflow-x: auto;
	padding: 12px;
}
.mi-cmp {
	border: 0;
	width: 100%;
	min-width: 620px;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 16px;
	line-height: 24px;
}
.mi-cmp th,
.mi-cmp td {
	padding: 18px 20px;
	text-align: left;
	vertical-align: top;
	border: 0;
	border-bottom: 1px solid var(--mi-borde);
}
.mi-cmp thead th {
	font-family: var(--mi-titulo);
	font-weight: 600;
	font-size: 16px;
	line-height: 22px;
	color: var(--mi-navy);
	background: var(--mi-fondo);
}
.mi-cmp thead th.mi-cmp-mi {
	background: var(--mi-navy);
	color: var(--mi-blanco);
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
.mi-cmp tbody th {
	font-weight: 600;
	color: var(--mi-navy);
	width: 30%;
}
.mi-cmp td.mi-cmp-mi {
	background: #EEF9FF;
	color: var(--mi-texto);
	font-weight: 500;
}
.mi-cmp td.mi-cmp-ot {
	color: var(--mi-sec);
}
.mi-cmp tbody tr:last-child th,
.mi-cmp tbody tr:last-child td {
	border-bottom: 0;
}

.mi-linea-abajo {
	padding-bottom: 16px !important;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--mi-borde);
}

/* 4. Pasos sobre fondo oscuro ============================================== */
.mi-oscuro .elementor-heading-title {
	color: var(--mi-blanco);
}
.mi-oscuro .mi-eyebrow .elementor-heading-title {
	color: var(--mi-turquesa);
}
.mi-oscuro .mi-eyebrow .elementor-heading-title::before {
	box-shadow: 10px -5px 0 var(--mi-turquesa);
}
.mi-oscuro .elementor-widget-text-editor {
	color: var(--mi-pie);
}
.e-con.mi-paso {
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.mi-paso h3.elementor-heading-title {
	font-size: 20px;
	line-height: 28px;
	font-weight: 600;
}
.mi-paso .elementor-widget-text-editor {
	font-size: 16px;
	line-height: 26px;
}
.mi-paso__num .elementor-heading-title {
	font-family: var(--mi-titulo);
	font-weight: 700;
	font-size: clamp(44px, 1vw + 36px, 56px);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--mi-azul) !important;
}

/* 5. Listas de iconos ======================================================= */
.mi-lista-fuerte .elementor-icon-list-text {
	font-weight: 500;
	color: var(--mi-texto);
}
.elementor-icon-list-icon svg {
	fill: none !important;
	stroke: currentColor;
}

.mi-lista-checks .elementor-icon-list-item {
	align-items: flex-start;
}
.mi-lista-checks .elementor-icon-list-text {
	font-size: 17px;
	line-height: 28px;
	color: var(--mi-texto);
}
.mi-lista-checks .elementor-icon-list-icon {
	margin-top: 4px;
}
/* En todas las listas con icono, el texto arranca arriba (Elementor lo centra en vertical
   y, si la fila es más alta que el texto, el check se queda descolgado). */
.elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text {
	align-self: flex-start;
}

/* 6. Acordeón ============================================================== */
.mi-acordeon .e-n-accordion {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mi-acordeon .e-n-accordion-item {
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
}
.mi-acordeon .e-n-accordion-item[open] {
	border-color: var(--mi-azul);
}
.mi-acordeon .e-n-accordion-item-title {
	min-height: 56px;
	padding: 16px 20px 16px 24px;
	border: 0;
	border-radius: var(--mi-radio);
	background: transparent;
	justify-content: space-between;
	gap: 16px;
}
.mi-acordeon .e-n-accordion-item-title-text,
.mi-acordeon .e-n-accordion-item-title-header h3 {
	margin: 0;
	font-family: var(--mi-titulo);
	font-weight: 600;
	font-size: 18px;
	line-height: 26px;
	color: var(--mi-navy);
}
.mi-acordeon .e-n-accordion-item-title-icon svg {
	width: 16px;
	height: 16px;
	fill: var(--mi-navy);
}
.mi-acordeon .e-n-accordion-item > .e-con {
	border: 0;
}
.mi-acordeon .elementor-widget-text-editor {
	font-size: 17px;
	line-height: 28px;
}

/* 7. Tira de compatibilidad y bordes de sección ============================= */
.e-con.mi-sec-borde {
	border-top: 1px solid var(--mi-borde);
	border-bottom: 1px solid var(--mi-borde);
}
.mi-tira {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 40px;
	text-align: center;
}
.mi-tira__intro {
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: var(--mi-sec);
}
.mi-tira__marcas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 16px;
	font-family: var(--mi-titulo);
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: var(--mi-navy);
}
.mi-tira__marcas a {
	color: var(--mi-navy);
	text-decoration: none;
}
.mi-tira__marcas a:hover {
	color: var(--mi-azul-texto);
	text-decoration: underline;
}
.mi-tira__marcas > span[aria-hidden] {
	color: var(--mi-azul);
}
.mi-tira__resto {
	font-family: var(--mi-cuerpo);
	font-weight: 500;
	font-size: 16px;
	color: var(--mi-sec);
}

/* 8. Maqueta del panel ====================================================== */
.mi-mock {
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
	box-shadow: var(--mi-sombra);
	overflow: hidden;
}
.mi-mock__cab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 20px;
	background: var(--mi-navy);
}
.mi-mock__titulo {
	display: flex;
	align-items: center;
	font-family: var(--mi-titulo);
	font-weight: 600;
	font-size: 15px;
	color: var(--mi-blanco);
}
.mi-mock__titulo::before {
	content: "";
	width: 8px;
	height: 8px;
	margin-right: 20px;
	background: var(--mi-azul);
	box-shadow: 10px -5px 0 var(--mi-turquesa);
}
.mi-mock__chip {
	font-size: 13px;
	line-height: 18px;
	font-weight: 500;
	color: var(--mi-navy);
	background: var(--mi-turquesa);
	padding: 3px 10px;
	border-radius: 6px;
}
.mi-mock__scroll {
	overflow-x: auto;
}
.mi-mock__tabla {
	min-width: 520px;
}
.mi-mock__fila {
	display: grid;
	grid-template-columns: 2.1fr 2fr 0.9fr 1.1fr;
	gap: 12px;
	align-items: center;
	padding: 14px 20px;
	border-bottom: 1px solid var(--mi-borde);
	font-size: 14px;
	line-height: 20px;
}
.mi-mock__fila:last-child {
	border-bottom: 0;
}
.mi-mock__fila--cab {
	padding: 10px 20px;
	background: var(--mi-fondo);
	font-size: 12px;
	line-height: 16px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mi-sec);
}
.mi-mock__fila .d {
	text-align: right;
}
.mi-mock__fila--cab .pvp {
	color: var(--mi-azul-texto);
}
.mi-mock__prod {
	display: flex;
	flex-direction: column;
}
.mi-mock__prod b {
	font-weight: 600;
	color: var(--mi-texto);
}
.mi-mock__prod small {
	font-size: 12px;
	color: var(--mi-sec);
}
.mi-mock__mays {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.mi-mock__may {
	font-size: 12px;
	line-height: 16px;
	font-weight: 500;
	padding: 2px 7px;
	border-radius: 6px;
	border: 1px solid var(--mi-borde);
	background: var(--mi-fondo);
	color: var(--mi-navy);
}
.mi-mock__may.is-mejor {
	font-weight: 600;
	padding: 3px 8px;
	border: 0;
	background: var(--mi-navy);
	color: var(--mi-blanco);
}
.mi-mock__fila .coste {
	color: var(--mi-sec);
}
.mi-mock__fila .pvp b {
	display: inline-block;
	font-weight: 600;
	color: var(--mi-navy);
	background: #EEF9FF;
	border-radius: 6px;
	padding: 4px 8px;
}

/* 9. Diagrama del flujo ===================================================== */
.mi-flujo {
	display: flex;
	flex-direction: column;
}
.mi-flujo__caja {
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
	padding: 20px 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.mi-flujo__caja--fin {
	justify-content: flex-start;
	gap: 12px 16px;
	box-shadow: var(--mi-sombra);
}
.mi-flujo__label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	color: var(--mi-navy);
}
.mi-flujo__tags {
	display: flex;
	gap: 8px;
}
.mi-flujo__tags span {
	font-size: 13px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 6px;
	background: var(--mi-fondo);
	border: 1px solid var(--mi-borde);
	color: var(--mi-navy);
}
.mi-flujo__flecha {
	display: flex;
	justify-content: center;
	padding: 8px 0;
}
.mi-flujo__central {
	position: relative;
	background: var(--mi-navy);
	border-radius: var(--mi-radio);
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.mi-flujo__central::after {
	content: "";
	position: absolute;
	top: 14px;
	right: 26px;
	width: 6px;
	height: 6px;
	background: var(--mi-turquesa);
	box-shadow: 8px 0 0 var(--mi-azul), 8px 8px 0 var(--mi-cian);
}
.mi-flujo__nombre {
	font-family: var(--mi-titulo);
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: var(--mi-blanco);
}
.mi-flujo__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.mi-flujo__pills span {
	font-size: 14px;
	line-height: 20px;
	font-weight: 500;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--mi-blanco);
}
.mi-flujo__pie {
	font-size: 15px;
	line-height: 22px;
	color: var(--mi-sec);
}

/* 10. Banner final ========================================================= */
.e-con.mi-sec-cta-elementor {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}
.mi-sec-cta-elementor .mi-sec--cta {
	padding-top: 0;
}

.e-con.mi-cta-caja {
	position: relative;
	overflow: hidden;
}
.e-con.mi-cta-caja::after {
	content: "";
	position: absolute;
	right: 34px;
	top: 24px;
	width: 8px;
	height: 8px;
	background: var(--mi-turquesa);
	box-shadow: 10px 0 0 var(--mi-azul), 10px 10px 0 var(--mi-cian), -10px 10px 0 var(--mi-azul), 0 20px 0 var(--mi-turquesa);
	pointer-events: none;
}
.e-con.mi-cta-caja__txt {
	--width: auto;
	flex: 1 1 520px;
	max-width: 680px;
}

/* 11. Capturas del panel ==================================================== */
.mi-cap {
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
	box-shadow: var(--mi-sombra);
	overflow: hidden;
	font-size: 14px;
	line-height: 20px;
	color: var(--mi-texto);
}
.mi-cap-h {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 20px;
	background: var(--mi-navy);
	color: var(--mi-blanco);
	font-family: var(--mi-titulo);
	font-weight: 600;
	font-size: 15px;
}
.mi-cap-h::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	background: var(--mi-azul);
	box-shadow: 10px -5px 0 var(--mi-turquesa);
	margin-right: 14px;
}
.mi-cap-h span:first-child {
	flex: 1;
}
.mi-cap-b {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mi-cap-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--mi-borde);
	border-radius: 10px;
	background: var(--mi-blanco);
}
.mi-cap-lbl {
	font-size: 12px;
	line-height: 16px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mi-sec);
}
.mi-cap-tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 9px;
	border-radius: 6px;
	background: var(--mi-fondo);
	border: 1px solid var(--mi-borde);
	color: var(--mi-navy);
	font-size: 13px;
	line-height: 18px;
	font-weight: 500;
	white-space: nowrap;
}
.mi-cap-tag-on {
	background: var(--mi-navy);
	border-color: var(--mi-navy);
	color: var(--mi-blanco);
	font-weight: 600;
}
.mi-cap-tag-ok {
	background: var(--mi-turquesa);
	border-color: var(--mi-turquesa);
	color: var(--mi-navy);
	font-weight: 600;
}
.mi-cap-mono {
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-size: 13px;
	color: var(--mi-navy);
}
.mi-cap-sw {
	flex: none;
	width: 36px;
	height: 20px;
	border-radius: 999px;
	background: var(--mi-azul-texto);
	position: relative;
}
.mi-cap-sw::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 19px;
	width: 14px;
	height: 14px;
	border-radius: 999px;
	background: var(--mi-blanco);
}
.mi-cap-sw-off {
	background: var(--mi-blanco);
	border: 1px solid var(--mi-sec);
	box-sizing: border-box;
}
.mi-cap-sw-off::after {
	left: 3px;
	top: 2px;
	background: var(--mi-sec);
}
.mi-cap-arr {
	flex: none;
	color: var(--mi-sec);
}

/* 12. Responsive ============================================================ */
@media (max-width: 999.98px) {
	.e-con.mi-col {
		--width: 100%;
	}
}
@media (max-width: 689.98px) {
	.mi-oculto-movil {
		display: none !important;
	}
	.mi-ancho-movil {
		width: 100%;
	}
	.e-con.mi-botones {
		--width: 100%;
	}
	.mi-botones,
	.mi-botones .elementor-widget-button,
	.mi-botones .elementor-button {
		width: 100%;
	}
	.mi-botones .elementor-button {
		justify-content: center;
	}
	.elementor-widget.mi-tarjeta {
		padding: 24px;
	}
	.elementor-widget.mi-tarjeta-plana {
		padding: 22px;
	}
	.mi-tira__marcas {
		font-size: 18px;
	}
}

/* 13. Casos de uso ========================================================= */
.mi-caso-sub p {
	margin: -8px 0 0;
	font-size: 15px;
	line-height: 22px;
	color: var(--mi-sec);
}
.mi-caso-bloque p,
.mi-caso-lbl {
	margin: 0;
}
p.mi-caso-lbl {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mi-sec);
}
p.mi-caso-prob {
	margin: 0;
	padding: 16px 20px;
	border-radius: 12px;
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	font-size: 17px;
	line-height: 28px;
	color: var(--mi-texto);
}
.mi-caso--blanco p.mi-caso-prob {
	background: var(--mi-fondo);
}
.mi-ill {
	position: relative;
	min-height: 380px;
	border-radius: 20px;
	padding: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	box-shadow: var(--mi-sombra);
	color: var(--mi-navy);
}
.mi-ill::after {
	content: "";
	position: absolute;
	top: 20px;
	right: 32px;
	width: 6px;
	height: 6px;
	background: var(--mi-turquesa);
	box-shadow: 8px 0 0 var(--mi-azul), 8px 8px 0 var(--mi-cian);
}
.mi-ill--oscura {
	background: var(--mi-navy);
	border-color: var(--mi-navy);
	box-shadow: none;
}
.mi-ill__ico {
	width: 64px;
	height: 64px;
	border-radius: 16px;
	background: var(--mi-fondo);
	display: grid;
	place-items: center;
	flex: none;
}
.mi-ill--oscura .mi-ill__ico {
	background: rgba(255, 255, 255, 0.08);
}
.mi-pill {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 10px;
	background: var(--mi-blanco);
	border: 1px solid var(--mi-borde);
	font-size: 15px;
	line-height: 22px;
	color: var(--mi-navy);
	font-weight: 600;
}
.mi-ill--oscura .mi-pill {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.18);
	color: var(--mi-blanco);
}
.mi-apagado {
	color: var(--mi-sec);
	font-weight: 500;
}
.mi-ill .mi-apagado[style*="display: flex"] {
	align-items: flex-start !important; /* si el texto ocupa dos líneas, el icono sigue en la primera */
}
.mi-ill .mi-apagado[style*="display: flex"] > svg {
	flex: none;
	margin-top: 1px;
}
.mi-ill--oscura .mi-apagado {
	color: var(--mi-pie);
}
@media (max-width: 999.98px) {
	.mi-ill {
		min-height: 0;
		padding: 32px 24px;
	}
}
.mi-ill .mi-pill {
	min-width: 0;
	overflow-wrap: anywhere;
}
.mi-ill [style*="grid-template-columns: 1fr auto 1fr"] {
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
}
.mi-ill [style*="grid-template-columns: 1fr auto 1fr"] > * {
	min-width: 0;
}
@media (max-width: 689.98px) {
	.mi-ill .mi-pill {
		padding: 10px 12px;
		font-size: 14px;
	}
	.mi-ill [style*="repeat(3, minmax(0, 1fr))"] {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.mi-ill [style*="repeat(3, minmax(0, 1fr))"] > div {
		flex-direction: row !important;
		align-items: center !important;
		flex-wrap: wrap;
	}
	.mi-ill [style*="grid-template-columns: 1fr auto 1fr"] {
		gap: 8px !important;
	}
	.mi-ill [style*="grid-template-columns: 1fr auto 1fr"] > div:last-child {
		padding: 12px !important;
	}
	p.mi-caso-prob {
		font-size: 16px;
		line-height: 26px;
	}
	.mi-ill {
		padding: 28px 20px;
	}
}

/* 14. Preguntas frecuentes ================================================= */
.mi-margen-arriba-8 { margin-top: 8px; }
.mi-faq-buscar {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.mi-faq-caja {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	padding: 0 8px 0 20px;
	border: 1px solid var(--mi-sec);
	border-radius: 12px;
	background: var(--mi-blanco);
}
.mi-faq-caja:focus-within {
	border-color: var(--mi-navy);
	box-shadow: 0 0 0 3px rgba(2, 178, 254, 0.35);
}
.mi-faq-caja input[type="search"] {
	flex: 1;
	min-width: 0;
	height: auto;
	border: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	font: 400 17px/24px var(--mi-cuerpo);
	color: var(--mi-texto);
	padding: 14px 0;
}
.mi-faq-caja input::placeholder {
	color: var(--mi-sec);
	opacity: 1;
}
.mi-faq-caja input::-webkit-search-cancel-button {
	display: none;
}
.mi-faq-caja button.mi-faq-borrar,
.mi-faq-caja button.mi-faq-borrar:hover,
.mi-faq-caja button.mi-faq-borrar:focus {
	box-shadow: none;
	border: 0;
	--theme-button-background-initial-color: transparent;
	--theme-button-background-hover-color: var(--mi-fondo);
}
.mi-faq-caja button.mi-faq-borrar {
	flex: none;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--mi-navy);
	cursor: pointer;
	display: grid;
	place-items: center;
}
.mi-faq-caja button.mi-faq-borrar:hover {
	background: var(--mi-fondo);
	color: var(--mi-navy);
}
.mi-faq-caja button.mi-faq-borrar[hidden] {
	display: none;
}
.mi-faq-estado {
	margin: 0;
	min-height: 20px;
	font-size: 14px;
	line-height: 20px;
	color: var(--mi-sec);
}
.e-con.mi-faq-grupo {
	scroll-margin-top: 24px;
}
.mi-faq-grupo__titulo .elementor-heading-title {
	display: flex;
	align-items: center;
	font-size: clamp(22px, 0.6vw + 18px, 26px);
	line-height: 1.3;
}
.mi-faq-grupo__titulo .elementor-heading-title::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	background: var(--mi-azul);
	box-shadow: 10px -5px 0 var(--mi-navy);
	margin-right: 22px;
	transform: translateY(2px);
}
#mi-faq-vacio {
	display: none;
	padding: 32px;
	border: 1px dashed var(--mi-sec);
	border-radius: 14px;
	background: var(--mi-fondo);
}
#mi-faq-vacio p {
	margin: 0 0 12px;
	color: var(--mi-sec);
}
#mi-faq-vacio p:last-child {
	margin-bottom: 0;
}
#mi-faq-vacio .mi-faq-vacio__titulo {
	font-family: var(--mi-titulo);
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: var(--mi-navy);
}

/* 15. Contacto ============================================================= */
.mi-max-640 { max-width: 640px; }
.e-con.mi-max-640 { --width: 100%; max-width: 640px; }
.e-con.mi-tarjeta-contacto {
	align-items: flex-start;
}
.mi-tarjeta-contacto .mi-t-tarjeta-grande .elementor-heading-title {
	font-size: 24px;
	line-height: 32px;
	font-weight: 600;
}
.e-con.mi-tarjeta-contacto.mi-oscuro .elementor-widget-text-editor p {
	color: var(--mi-pie);
}
.e-con.mi-abajo {
	margin-top: auto;
}
.mi-icono-oscuro .elementor-icon {
	background-color: rgba(255, 255, 255, 0.08) !important;
}
.mi-t-subseccion .elementor-heading-title {
	font-size: clamp(22px, 0.6vw + 18px, 26px);
	line-height: 1.3;
}
.mi-separador-px {
	display: flex;
	align-items: center;
	gap: 12px;
}
.mi-separador-px span {
	flex: 1;
	height: 1px;
	background: var(--mi-borde);
}
.mi-separador-px i {
	width: 8px;
	height: 8px;
	background: var(--mi-azul);
	box-shadow: 12px 0 0 var(--mi-turquesa), 24px 0 0 var(--mi-navy);
	margin-right: 24px;
}
.mi-datos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}
.mi-dato {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 24px;
	border: 1px solid var(--mi-borde);
	border-radius: var(--mi-radio);
	background: var(--mi-blanco);
}
.mi-dato__ic {
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: var(--mi-fondo);
	display: grid;
	place-items: center;
}
.mi-dato p {
	margin: 0;
}
.mi-dato .mi-dato__k {
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mi-sec);
}
.mi-dato a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
	font-size: 17px;
	word-break: break-all;
}

/* Formulario de Contact Form 7 */
.mi-cf7 .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 22px;
	font-family: var(--mi-cuerpo);
}
.mi-cf7 .wpcf7-form p {
	margin: 0;
}
.mi-cf7 .mi-oblig {
	font-size: 14px;
	line-height: 20px;
	color: var(--mi-sec);
}
.mi-cf7 .mi-req {
	color: var(--mi-navy);
	font-weight: 600;
}
.mi-cf7 .mi-campo {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.mi-cf7 .mi-campo label {
	margin: 0;
	font-size: 15px;
	line-height: 22px;
	font-weight: 600;
	color: var(--mi-texto);
}
.mi-cf7 .mi-dos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 20px;
}
.mi-cf7 input[type="text"],
.mi-cf7 input[type="email"],
.mi-cf7 select,
.mi-cf7 textarea {
	width: 100%;
	min-height: 48px;
	height: auto;
	padding: 12px 14px;
	border: 1px solid var(--mi-sec);
	border-radius: 10px;
	background-color: var(--mi-blanco);
	font: 400 16px/24px var(--mi-cuerpo);
	color: var(--mi-texto);
}
.mi-cf7 input[type="url"] {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--mi-sec);
	border-radius: 10px;
	background-color: var(--mi-blanco);
	font: 400 16px/24px var(--mi-cuerpo);
	color: var(--mi-texto);
}
/* Columna lateral que acompaña al formulario al hacer scroll */
@media (min-width: 1025px) {
	.mi-pegajoso {
		position: sticky;
		top: 112px;
	}
}
/* Subida de la muestra */
.mi-cf7 .mi-fichero {
	padding: 20px;
	border: 1px dashed var(--mi-sec);
	border-radius: 10px;
	background: var(--mi-fondo);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mi-cf7 input[type="file"] {
	width: 100%;
	font: 400 15px/22px var(--mi-cuerpo);
	color: var(--mi-texto);
}
.mi-cf7 input[type="file"]::file-selector-button {
	margin-right: 12px;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--mi-navy);
	border-radius: 8px;
	background: var(--mi-blanco);
	color: var(--mi-navy);
	font: 600 15px/20px var(--mi-cuerpo);
	cursor: pointer;
}
.mi-cf7 input[type="file"]::file-selector-button:hover {
	background: var(--mi-navy);
	color: var(--mi-blanco);
}
.mi-cf7 .mi-ayuda {
	margin: 0;
	font-size: 14px;
	line-height: 21px;
	color: var(--mi-sec);
}
.mi-cf7 .mi-ayuda strong {
	color: var(--mi-texto);
	font-weight: 600;
}
.mi-cf7 .mi-o {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mi-sec);
}
.mi-cf7 .mi-o::before,
.mi-cf7 .mi-o::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--mi-borde);
}
.mi-cf7 .mi-aviso-datos {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0 0 0 18px;
	font-size: 14px;
	line-height: 21px;
	color: var(--mi-sec);
}
.mi-cf7 textarea {
	min-height: 140px;
	resize: vertical;
}
.mi-cf7 select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 44px;
	background: var(--mi-blanco) no-repeat right 14px center / 20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000058' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
.mi-cf7 input:focus,
.mi-cf7 select:focus,
.mi-cf7 textarea:focus {
	border-color: var(--mi-navy);
	box-shadow: 0 0 0 3px rgba(2, 178, 254, 0.35);
	outline: 0;
}
/* Rojo de error fuera de la paleta: 6,6:1 sobre blanco (AA). */
.mi-cf7 .wpcf7-not-valid {
	border-color: #B42318;
}
.mi-cf7 .wpcf7-not-valid-tip {
	display: block;
	font-style: normal;
	margin-top: 6px;
	font-size: 14px;
	line-height: 20px;
	color: #B42318;
}
.mi-cf7 .mi-acepto .wpcf7-list-item {
	margin: 0;
}
.mi-cf7 .mi-acepto label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	line-height: 22px;
	color: var(--mi-texto);
	cursor: pointer;
}
.mi-cf7 .mi-acepto input[type="checkbox"] {
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0;
	accent-color: var(--mi-navy);
}
.mi-cf7 .mi-enviar {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.mi-cf7 input.mi-btn-enviar {
	min-height: 48px;
	min-width: 200px;
	padding: 0 24px;
	border: 0;
	border-radius: 10px;
	background: var(--mi-azul);
	color: var(--mi-navy);
	font: 600 16px/20px var(--mi-cuerpo);
	cursor: pointer;
	transition: background-color 0.15s;
}
.mi-cf7 input.mi-btn-enviar:hover {
	background: var(--mi-cian);
	color: var(--mi-navy);
}
.mi-cf7 input.mi-btn-enviar:focus-visible {
	outline: 2px solid var(--mi-navy);
	outline-offset: 3px;
}
.mi-cf7 .mi-micro {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	line-height: 20px;
	color: var(--mi-sec);
}
.mi-cf7 .mi-micro::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000058' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
.mi-cf7 .mi-rgpd {
	padding: 16px 20px;
	border-radius: 10px;
	background: var(--mi-fondo);
	border: 1px solid var(--mi-borde);
	font-size: 13px;
	line-height: 20px;
	color: var(--mi-sec);
}
.mi-cf7 .mi-rgpd p + p {
	margin-top: 4px;
}
.mi-cf7 .mi-rgpd strong {
	color: var(--mi-texto);
	font-weight: 600;
}
.mi-cf7 .wpcf7-response-output {
	font-style: normal;
	margin: 0 !important;
	padding: 12px 16px !important;
	border-radius: 10px;
	font-size: 15px;
}
.mi-cf7 .wpcf7-spinner {
	margin: 0;
}
.mi-cf7 .wpcf7-form:not(.submitting) .wpcf7-spinner {
	display: none;
}

/* Confirmación «¡Recibido!» */
.mi-recibido__icono {
	position: relative;
	width: 88px;
	height: 88px;
	margin: 0 auto;
	border-radius: 999px;
	background: var(--mi-turquesa);
	display: grid;
	place-items: center;
}
.mi-recibido__px {
	position: absolute;
	top: -6px;
	right: -18px;
	width: 8px;
	height: 8px;
	background: var(--mi-azul);
	box-shadow: 10px -6px 0 var(--mi-navy), 10px 4px 0 var(--mi-cian);
}
.e-con.mi-botones-centro {
	justify-content: center;
}
@media (max-width: 689.98px) {
	.mi-cf7 .mi-dos {
		grid-template-columns: minmax(0, 1fr);
	}
	.mi-cf7 input.mi-btn-enviar {
		width: 100%;
	}
	.mi-cf7 .mi-enviar {
		align-items: stretch;
	}
}

/* 16. Textos legales ======================================================= */
.mi-pagina-legal .hero-section .entry-header {
	max-width: 760px;
	margin-inline: auto;
}
.mi-legal {
	max-width: 760px;
	margin-inline: auto;
	font-size: 17px;
	line-height: 28px;
}
.mi-legal h2 {
	margin: 40px 0 12px;
	font-size: clamp(22px, 0.6vw + 18px, 26px);
	line-height: 1.3;
}
.mi-legal h3 {
	margin: 28px 0 8px;
	font-size: 19px;
}
.mi-legal table {
	display: block;
	overflow-x: auto;
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	line-height: 22px;
}
.mi-legal th,
.mi-legal td {
	min-width: 140px;
	padding: 10px 12px;
	border: 1px solid var(--mi-borde);
	text-align: left;
	vertical-align: top;
}
.mi-legal th {
	background: var(--mi-fondo);
	color: var(--mi-navy);
}
.mi-pendiente {
	padding: 0 4px;
	border-radius: 4px;
	background: #FFF4CC;
	color: var(--mi-texto);
	font-weight: 600;
}

/* 17. Esquema del hero de las landings por plataforma ======================= */
.elementor-widget-html [role="img"][aria-label^="Esquema"] *,
.elementor-widget-html [role="img"][aria-label^="Esquema"] {
	box-sizing: border-box;
}
@media (max-width: 689.98px) {
	.elementor-widget-html [role="img"][aria-label^="Esquema"] {
		flex-direction: column;
		align-items: stretch !important;
	}
	.elementor-widget-html [role="img"][aria-label^="Esquema"] > svg {
		align-self: center;
		transform: rotate(90deg);
	}
	.elementor-widget-html [role="img"][aria-label^="Esquema"] > div:last-child {
		width: 100% !important;
	}
}

/* 18. Logos de plataformas ================================================= */
.mi-logo {
	display: block;
	width: auto !important;
	max-width: none;
	flex: none;
}
a.mi-logo-enlace {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	border-radius: 6px;
}
a.mi-logo-enlace:hover .mi-logo {
	opacity: 0.8;
}
.mi-tira--logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 28px;
	text-align: center;
}
.mi-tira--logos p {
	margin: 0;
}
.mi-logos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 32px;
}
.mi-logos li {
	margin: 0;
}
.mi-lista-logos {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mi-lista-logos li {
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--mi-borde);
	display: flex;
	align-items: center;
	min-height: 52px;
}
.mi-lista-logos li:last-child {
	border-bottom: 0;
}
.mi-lista-logos__texto {
	font-weight: 600;
	color: var(--mi-navy);
}
.e-con.mi-plat-logo {
	align-items: flex-start;
}
.mi-plat__logo {
	margin: 0;
	line-height: 0;
}
.mi-plat__logo a.mi-logo-enlace {
	min-height: 48px;
}
.mi-logo-chip {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--mi-blanco);
}
@media (max-width: 689.98px) {
	.mi-logos {
		gap: 4px 24px;
	}
	.mi-logos .mi-logo {
		height: 24px !important;
	}
}

/* 19. Home: cómo funciona en cuatro pasos =================================== */
.e-con.mi-como {
	position: relative;
	background:
		radial-gradient(circle at 1px 1px, rgba(0, 0, 88, 0.07) 1px, transparent 0) 0 0 / 22px 22px,
		var(--mi-blanco);
}
.e-con.mi-paso-zz {
	position: relative;
}
.mi-paso-badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-family: var(--mi-titulo);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mi-azul-texto);
}
.mi-paso-badge__n {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--mi-navy);
	color: var(--mi-turquesa);
	font-size: 20px;
	letter-spacing: 0;
}
.mi-paso-badge__n::after {
	content: "";
	position: absolute;
	right: -7px;
	top: -7px;
	width: 8px;
	height: 8px;
	background: var(--mi-azul);
	box-shadow: 6px -6px 0 var(--mi-turquesa);
}
.mi-t-paso .elementor-heading-title {
	font-family: var(--mi-titulo);
	font-size: 28px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--mi-navy);
}
.mi-cap--paso {
	max-width: 520px;
	margin-inline: auto;
	transform: rotate(-0.6deg);
	box-shadow: 0 24px 48px -24px rgba(0, 0, 88, 0.28), var(--mi-sombra);
}
.mi-paso-zz--rev .mi-cap--paso {
	transform: rotate(0.6deg);
}
.mi-cap-prov {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.mi-cap-prov b {
	color: var(--mi-navy);
	font-weight: 600;
}
.mi-cap-prov small {
	font-size: 12px;
	color: var(--mi-sec);
}
.mi-cap-chips,
.mi-cap-logos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.mi-cap-dest {
	font-weight: 600;
	color: var(--mi-navy);
}
.mi-cap-precio {
	font-weight: 600;
	color: var(--mi-navy);
	white-space: nowrap;
}
.mi-cap-precio.is-mejor {
	padding: 2px 8px;
	border-radius: 6px;
	background: var(--mi-turquesa);
}
.mi-cap-row--mejor {
	border-color: var(--mi-azul);
	box-shadow: 0 0 0 3px rgba(2, 178, 254, 0.15);
}
.mi-cap-row--off {
	background: var(--mi-fondo);
	border-style: dashed;
}
.mi-cap-row--off b,
.mi-cap-row--off small,
.mi-cap-row--off .mi-cap-precio {
	color: var(--mi-sec);
	font-weight: 500;
}
.mi-cap-row--off .mi-cap-precio {
	text-decoration: line-through;
}
.mi-cap-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 4px;
	padding: 12px 14px;
	border-radius: 10px;
	background: var(--mi-fondo);
	color: var(--mi-sec);
}
.mi-cap-total b {
	font-family: var(--mi-titulo);
	font-size: 20px;
	color: var(--mi-navy);
}
.mi-cap-logo {
	display: inline-flex;
	align-items: center;
	padding: 8px 10px;
	border: 1px solid var(--mi-borde);
	border-radius: 8px;
	background: var(--mi-blanco);
}
.mi-cap-logo img {
	display: block;
}
.mi-cap-csv {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px 14px;
	border-radius: 10px;
	background: var(--mi-navy);
	color: var(--mi-pie);
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-size: 12px;
	line-height: 18px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.mi-cap-csv span:first-child {
	color: var(--mi-turquesa);
}
.mi-cap-boton {
	padding: 6px 12px;
	border-radius: 8px;
	background: var(--mi-azul);
	color: var(--mi-navy);
	font-weight: 600;
}
@media (max-width: 689.98px) {
	.mi-cap--paso,
	.mi-paso-zz--rev .mi-cap--paso {
		transform: none;
	}
	.mi-t-paso .elementor-heading-title {
		font-size: 23px;
	}
}
.mi-cap-der {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: none;
	text-align: right;
}

/* 20. Precios: aviso de suscripción bajo el botón ========================== */
.mi-precio__nota-sus,
.mi-precio__nota-sus p {
	margin: -12px 0 0;
	font-size: 14px;
	line-height: 21px;
	text-align: center;
	color: var(--mi-pie) !important;
}

/* 21. Mapa del sitio ([mi_mapa]) ============================================ */
.mi-mapa {
	display: flex;
	flex-direction: column;
	gap: 64px;
}
.mi-mapa__grupos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 40px 32px;
}
.mi-mapa__t {
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--mi-borde);
	font: 700 18px/1.3 var(--mi-titulo);
	color: var(--mi-navy);
}
.mi-mapa__t--dir {
	font-size: 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
}
.mi-mapa__t a {
	color: inherit;
	text-decoration: none;
}
.mi-mapa__t a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.mi-mapa__t span {
	font: 500 15px var(--mi-cuerpo);
	color: var(--mi-sec);
}
.mi-mapa__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 16px;
	line-height: 24px;
}
.mi-mapa__lista a {
	color: var(--mi-texto);
	text-decoration: underline;
	text-decoration-color: var(--mi-borde);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.mi-mapa__lista a:hover {
	color: var(--mi-azul-texto);
	text-decoration-color: currentColor;
}
.mi-mapa__sectores {
	margin-top: 8px;
	columns: 4 240px;
	column-gap: 32px;
}
.mi-mapa__sector {
	break-inside: avoid;
	margin-bottom: 36px;
}
.mi-mapa__sector h3 {
	margin: 0 0 10px;
	font: 700 16px/1.35 var(--mi-titulo);
}
.mi-mapa__sector h3 a {
	color: var(--mi-navy);
	text-decoration: none;
}
.mi-mapa__sector h3 a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.mi-mapa__lista--peq {
	gap: 6px;
	font-size: 15px;
	line-height: 22px;
}

/* 22. Página de mantenimiento (modo mantenimiento de Elementor) ============= */
.mi-mant {
	background-image: radial-gradient(circle at 80% 15%, rgba(2, 178, 254, 0.18), transparent 45%);
}
.mi-mant__logo img {
	display: block;
	width: 220px;
	height: auto;
}
.mi-mant .mi-t-hero .elementor-heading-title {
	color: var(--mi-blanco);
}
.e-con.mi-mant__tarjeta {
	margin-top: 8px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.06);
}
.mi-mant__pie p {
	font-size: 15px;
}
.mi-mant .elementor-widget-text-editor,
.mi-mant .elementor-widget-text-editor p {
	color: var(--mi-pie);
}

/* 23. Condiciones de contratación (contrato) ================================ */
.mi-legal-cab {
	margin: 0 0 32px;
	padding: 20px 24px;
	border: 1px solid var(--mi-borde);
	border-left: 4px solid var(--mi-azul);
	border-radius: 10px;
	background: var(--mi-fondo);
}
.mi-legal-cab p {
	margin: 0;
	font-size: 15px;
	line-height: 23px;
	color: var(--mi-sec);
}
.mi-legal-cab .mi-legal-cab__t {
	margin-bottom: 4px;
	font: 700 18px/1.3 var(--mi-titulo);
	color: var(--mi-navy);
}
.mi-legal-cab p + p {
	margin-top: 6px;
}
.mi-legal-pdf {
	font-weight: 600;
}
.mi-legal table.mi-legal-datos {
	display: table;
	width: auto;
	margin: 12px 0 20px;
}
.mi-legal-firma {
	margin-top: 32px;
	font-size: 15px;
	line-height: 24px;
}
.mi-legal-nota {
	margin: 28px 0 0;
	padding: 20px 24px;
	border-radius: 10px;
	background: var(--mi-fondo);
	border: 1px solid var(--mi-borde);
	font-size: 15px;
	line-height: 24px;
}
.mi-legal-nota p {
	margin: 0 0 8px;
}
.mi-legal-nota p:last-child {
	margin-bottom: 0;
}
.mi-legal-nota .mi-legal-nota__t {
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--mi-navy);
}
