/* BDM Top Bar — marquee infinito. La distancia de scroll la calcula el JS
   (--bdm-tb-shift) para que nunca queden huecos, sin importar el ancho de
   pantalla ni la cantidad de mensajes. */

.bdm-topbar {
	background: var(--bdm-tb-bg, #050EFF);
	color: var(--bdm-tb-color, #fff);
	width: 100%;
	overflow: hidden;
}

.bdm-topbar__track {
	display: flex;
	width: max-content;
}

/* La animación arranca recién cuando el JS terminó de clonar y medir.
   Si el JS no corre (deshabilitado), la barra queda estática mostrando
   los primeros mensajes: degradación elegante, sin hueco. */
.bdm-topbar--ready .bdm-topbar__track {
	animation: bdm-marquee var(--bdm-tb-duration, 30s) linear infinite;
}

.bdm-topbar:hover .bdm-topbar__track {
	animation-play-state: paused;
}

.bdm-topbar__group {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.bdm-topbar__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 0;
	font-size: var(--bdm-tb-size, 13px);
	font-weight: 600;
	letter-spacing: .01em;
	white-space: nowrap;
}

.bdm-topbar__icon {
	font-size: 1.1em;
	line-height: 1;
}

.bdm-topbar__sep {
	padding: 0 24px;
	opacity: .45;
	white-space: nowrap;
}

.bdm-topbar a {
	color: inherit;
	text-decoration: none;
}
.bdm-topbar a:hover {
	text-decoration: underline;
}

/* Se desplaza exactamente UN grupo (distancia que mide el JS). Como todos
   los grupos son idénticos, al completar el ciclo queda calzado: sin salto. */
@keyframes bdm-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(calc(-1 * var(--bdm-tb-shift, 50%))); }
}

@media (prefers-reduced-motion: reduce) {
	.bdm-topbar--ready .bdm-topbar__track {
		animation: none;
		transform: none;
	}
}

@media (max-width: 767px) {
	.bdm-topbar--hide-mobile {
		display: none;
	}
}
