/**
 * Huemura — Marquee promocional global.
 */

.huemura-marquee {
	--huemura-marquee-background: #000;
	--huemura-marquee-color: #fff;
	--huemura-marquee-height: 42px;
	--huemura-marquee-gap: 64px;

	position: relative;
	z-index: 1000;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: var(--huemura-marquee-height);
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--huemura-marquee-background);
	color: var(--huemura-marquee-color);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.huemura-marquee__link {
	display: block;
	width: 100%;
	color: inherit;
	text-decoration: none;
}

.huemura-marquee__link:hover,
.huemura-marquee__link:focus,
.huemura-marquee__link:visited {
	color: inherit;
	text-decoration: none;
}

.huemura-marquee__link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: -3px;
}

.huemura-marquee .huemura-marquee__message-link,
.huemura-marquee .huemura-marquee__cta {
	display: inline-flex;
	align-items: center;
	color: var(--huemura-marquee-color);
}

.huemura-marquee .huemura-marquee__message-link,
.huemura-marquee .huemura-marquee__message-link:hover,
.huemura-marquee .huemura-marquee__message-link:focus,
.huemura-marquee .huemura-marquee__message-link:visited {
	color: var(--huemura-marquee-color);
	text-decoration: none;
}

.huemura-marquee .huemura-marquee__cta,
.huemura-marquee .huemura-marquee__cta:hover,
.huemura-marquee .huemura-marquee__cta:focus,
.huemura-marquee .huemura-marquee__cta:visited {
	color: var(--huemura-marquee-color);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.huemura-marquee .huemura-marquee__message-link:hover,
.huemura-marquee .huemura-marquee__cta:hover {
	opacity: 0.82;
}

.huemura-marquee .huemura-marquee__message-link:focus-visible,
.huemura-marquee .huemura-marquee__cta:focus-visible {
	border-radius: 2px;
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.huemura-marquee__viewport {
	width: 100%;
	overflow: hidden;
}

.huemura-marquee__track {
	display: flex;
	align-items: center;
	width: max-content;
	min-width: 100%;
	will-change: transform;
	animation: huemura-marquee-left-to-right
		var(--huemura-marquee-duration, 24s) linear infinite;
}

.huemura-marquee__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	white-space: nowrap;
}

.huemura-marquee__item {
	display: inline-flex;
	align-items: center;
	min-height: var(--huemura-marquee-height);
	padding-right: var(--huemura-marquee-gap);
	white-space: nowrap;
	color: var(--huemura-marquee-color);
}

.huemura-marquee__separator {
	display: inline-block;
	margin: 0 0.42em;
}

.huemura-marquee__item::after {
	margin-left: var(--huemura-marquee-gap);
	color: #ff1d25;
	font-size: 16px;
	content: "\2022";
}

/*
 * Hay dos grupos idénticos. Recorrer 50% equivale al ancho exacto de
 * un grupo y evita saltos visibles al reiniciar la animación.
 */
@keyframes huemura-marquee-left-to-right {
	from {
		transform: translateX(-50%);
	}

	to {
		transform: translateX(0);
	}
}

.huemura-marquee:hover .huemura-marquee__track,
.huemura-marquee:focus-within .huemura-marquee__track,
.huemura-marquee__link:focus .huemura-marquee__track {
	animation-play-state: paused;
}

.huemura-marquee__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	white-space: nowrap;
	border: 0;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
}

@media (max-width: 767px) {
	.huemura-marquee {
		--huemura-marquee-height: 36px;
		--huemura-marquee-gap: 38px;

		font-size: 12px;
	}

	.huemura-marquee__item::after {
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.huemura-marquee__track {
		animation: none;
	}
}
