/**
 * TO Text Ticker — scoped horizontal marquee styles.
 *
 * Var-driven: editable values are read from --toaew-ticker-* custom
 * properties set inline on the wrapper or via Elementor selectors.
 * Namespaced under .toaew-ticker.
 */

@keyframes toaew-ticker-marquee-ltr {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@keyframes toaew-ticker-marquee-rtl {
	from {
		transform: translateX(-50%);
	}
	to {
		transform: translateX(0);
	}
}

.toaew-ticker {
	position: relative;
	overflow-x: hidden;
	overflow-y: visible;
	border-top: var(--toaew-ticker-border-w, 1px) solid var(--toaew-ticker-border-color, #e5e7eb);
	border-bottom: var(--toaew-ticker-border-w, 1px) solid var(--toaew-ticker-border-color, #e5e7eb);
	background: var(--toaew-ticker-bg, #ffffff);
}

/* Edge fade masks (reference: before/after gradients). */
.toaew-ticker::before,
.toaew-ticker::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	width: var(--toaew-ticker-fade-w, 4rem);
	pointer-events: none;
}

.toaew-ticker::before {
	left: 0;
	background: linear-gradient(
		to right,
		var(--toaew-ticker-bg, #ffffff),
		transparent
	);
}

.toaew-ticker::after {
	right: 0;
	background: linear-gradient(
		to left,
		var(--toaew-ticker-bg, #ffffff),
		transparent
	);
}

.toaew-ticker--no-fade::before,
.toaew-ticker--no-fade::after {
	display: none;
}

.toaew-ticker__viewport {
	display: flex;
	overflow-x: hidden;
	overflow-y: visible;
	align-items: center;
}

.toaew-ticker__track {
	display: flex;
	align-items: center;
	width: max-content;
	gap: var(--toaew-ticker-set-gap, 1rem);
	padding: var(--toaew-ticker-pad-y, 0.625rem) var(--toaew-ticker-pad-x, 0);
	animation: toaew-ticker-marquee-ltr var(--toaew-ticker-duration, 40s) linear infinite;
	will-change: transform;
}

.toaew-ticker--rtl .toaew-ticker__track {
	animation-name: toaew-ticker-marquee-rtl;
}

.toaew-ticker--pause:hover .toaew-ticker__track {
	animation-play-state: paused;
}

.toaew-ticker__set {
	display: flex;
	align-items: center;
	gap: var(--toaew-ticker-item-gap, 2.5rem);
	padding-inline: var(--toaew-ticker-set-pad, 1rem);
	white-space: nowrap;
}

.toaew-ticker__item {
	display: inline-flex;
	align-items: center;
	gap: var(--toaew-ticker-icon-gap, 0.5rem);
}

.toaew-ticker__media {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
	font-size: calc(1rem * var(--toaew-ticker-icon-scale, 1.5));
}

/* Emoji lives outside the text container — native color emoji font only. */
.toaew-ticker__emoji {
	display: block;
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
	font-size: 1em;
	line-height: 1;
	font-variant-emoji: emoji;
}

.toaew-ticker__media .toaew-ticker__svg,
.toaew-ticker__media svg,
.toaew-ticker__media i {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
	color: var(--toaew-ticker-color, #111827);
}

.toaew-ticker__text {
	display: inline-block;
	font-size: var(--toaew-ticker-font-size, 0.875rem);
	font-weight: var(--toaew-ticker-font-weight, 400);
	color: var(--toaew-ticker-color, #111827);
	line-height: 1.4;
}

/* Respect reduced motion. */
@media (prefers-reduced-motion: reduce) {
	.toaew-ticker__track {
		animation: none !important;
		transform: none !important;
		flex-wrap: wrap;
		width: 100%;
	}

	.toaew-ticker__viewport {
		overflow: visible;
	}

	.toaew-ticker__set[aria-hidden="true"] {
		display: none;
	}

	.toaew-ticker::before,
	.toaew-ticker::after {
		display: none;
	}
}
