.cmq {
	position: relative;
	z-index: var(--cmq-z, 99999);
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	align-items: center;
	width: var(--cmq-w, 100%);
	height: var(--cmq-h, 44px);
	background: var(--cmq-bg, #111);
	color: var(--cmq-color, #fff);
	font-size: var(--cmq-fs, 16px);
	font-weight: var(--cmq-fw, 600);
	line-height: 1.2;
	border-radius: var(--cmq-r, 0);
	margin-left: auto;
	margin-right: auto;
}
.cmq-align-left { margin-left: 0; margin-right: auto; }
.cmq-align-right { margin-left: auto; margin-right: 0; }

.cmq-track {
	display: flex;
	flex: none;
	will-change: transform;
	animation-duration: var(--cmq-dur, 20s);
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.cmq-group {
	display: flex;
	flex: none;
	align-items: center;
}
.cmq-item {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	white-space: nowrap;
	color: inherit;
	text-decoration: none;
}
a.cmq-item:hover { opacity: .85; }
.cmq-icon {
	display: inline-flex;
	align-items: center;
	font-size: var(--cmq-is, 18px);
	color: var(--cmq-ic, inherit);
	line-height: 1;
}
.cmq-icon svg { width: 1em; height: 1em; fill: currentColor; }
.cmq-sep { color: var(--cmq-sepc, inherit); opacity: .8; }

/* Horizontal */
.cmq-h .cmq-track { flex-direction: row; animation-name: cmq-x; }
.cmq-h .cmq-item { padding: 0 var(--cmq-ig, var(--cmq-gap, 28px)); }
.cmq-h .cmq-sep { margin: 0; }

/* Vertical */
.cmq-v .cmq-track { flex-direction: column; width: 100%; animation-name: cmq-y; }
.cmq-v .cmq-group { flex-direction: column; width: 100%; }
.cmq-v .cmq-item {
	justify-content: center;
	width: 100%;
	height: calc(var(--cmq-h, 44px) + (var(--cmq-ig, var(--cmq-gap, 28px)) - var(--cmq-gap, 28px)) * 2);
	padding: 0 var(--cmq-gap, 28px);
	box-sizing: border-box;
}
.cmq-v .cmq-sep { display: none; }

.cmq-rev .cmq-track { animation-direction: reverse; }
.cmq-pause:hover .cmq-track { animation-play-state: paused; }

@keyframes cmq-x { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes cmq-y { from { transform: translateY(0); } to { transform: translateY(-50%); } }

/* Fija y siempre encima */
.cmq-fixed {
	position: fixed;
	left: 0;
	right: 0;
	margin-top: 0;
	margin-bottom: 0;
}
.cmq-fixed-top { top: var(--cmq-off, 0); }
.cmq-fixed-bottom { bottom: var(--cmq-off, 0); }
body.admin-bar .cmq-fixed-top { top: calc(var(--cmq-off, 0px) + 32px); }
@media (max-width: 782px) {
	body.admin-bar .cmq-fixed-top { top: calc(var(--cmq-off, 0px) + 46px); }
}

@media (prefers-reduced-motion: reduce) {
	.cmq-track { animation-duration: 120s; }
}

/* Ancho completo de la pantalla (100%) */
.cmq-full {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	border-radius: 0;
}
.cmq-fixed.cmq-full { width: auto; max-width: none; margin-left: 0; margin-right: 0; }

/* Sin animación */
.cmq-static { height: auto; min-height: var(--cmq-h, 44px); }
.cmq-static .cmq-track { animation: none; width: 100%; justify-content: center; }
.cmq-static .cmq-group { flex-wrap: wrap; justify-content: center; width: 100%; padding: 4px 0; }
.cmq-static .cmq-item { white-space: normal; text-align: center; padding: 4px var(--cmq-ig, var(--cmq-gap, 28px)); }
.cmq-static.cmq-v .cmq-item { height: auto; width: auto; }
.cmq-static.cmq-v .cmq-sep { display: inline; }

.cmq-spacer { display: block; width: 100%; pointer-events: none; }

/* Zona que se mueve + textos fijos a los lados */
.cmq-view {
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
}
.cmq-pin {
	display: flex;
	flex: none;
	align-items: center;
	height: 100%;
	position: relative;
	z-index: 2;
	background: var(--cmq-bg, #111);
}
.cmq .cmq-pin .cmq-item {
	width: auto;
	height: auto;
	padding: 0 var(--cmq-ig, var(--cmq-gap, 28px));
}
.cmq-static .cmq-view { justify-content: center; }

/* Texto fijo al centro de la cinta (no se mueve; lo demás pasa por detrás) */
.cmq-pin-center {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	z-index: 3;
	max-width: 90%;
}

/* Vertical con pausa en el centro: el movimiento lo controla el script */
.cmq-stepped .cmq-track { animation: none !important; }

/* Elementor: el widget ocupa todo el ancho disponible (si no, la cinta se encoge al texto) */
.elementor-widget-cinta_marquee,
.e-con > .elementor-widget-cinta_marquee,
.e-con-inner > .elementor-widget-cinta_marquee {
	width: 100%;
	max-width: 100%;
	flex-grow: 1;
	min-width: 0;
}
.elementor-widget-cinta_marquee > .elementor-widget-container { width: 100%; }
