.sab-bar {
	position: relative;
	z-index: 99999;
	display: flex;
	align-items: center;
	width: 100%;
	height: var(--sab-h, 44px);
	margin: 0;
	padding: 0;
	overflow: hidden;
	box-sizing: border-box;
	background: var(--sab-bg, #000);
	color: var(--sab-color, #fff);
	font-size: var(--sab-fs, 16px);
	line-height: 1.2;
}

.sab-bar.sab-sticky {
	position: sticky;
	top: 0;
}
.admin-bar .sab-bar.sab-sticky { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar .sab-bar.sab-sticky { top: 46px; }
}
@media screen and (max-width: 600px) {
	.admin-bar .sab-bar.sab-sticky { top: 0; }
}

.sab-bar .sab-viewport {
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.sab-bar .sab-track {
	display: flex;
	flex-shrink: 0;
	width: max-content;
	animation: sab-scroll 30s linear infinite;
	will-change: transform;
}
.sab-bar.sab-dir-right .sab-track { animation-direction: reverse; }
.sab-bar.sab-pause:hover .sab-track,
.sab-bar.sab-pause:focus-within .sab-track { animation-play-state: paused; }

.sab-bar .sab-group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
}

.sab-bar .sab-group .sab-item {
	padding: 0 0.9em;
	white-space: nowrap;
	color: var(--sab-color, #fff);
	font-size: inherit;
	font-weight: 500;
	text-decoration: none;
	border: 0;
	box-shadow: none;
	background: none;
}
.sab-bar .sab-group a.sab-item:hover,
.sab-bar .sab-group a.sab-item:focus-visible {
	color: var(--sab-hover, #f5c518);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.sab-bar .sab-group a.sab-item:focus-visible {
	outline: 2px solid var(--sab-hover, #f5c518);
	outline-offset: 2px;
}

.sab-bar .sab-sep {
	flex-shrink: 0;
	white-space: nowrap;
}

.sab-bar .sab-close {
	flex-shrink: 0;
	width: var(--sab-h, 44px);
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--sab-bg, #000);
	color: var(--sab-color, #fff);
	font-size: 1.4em;
	line-height: 1;
	cursor: pointer;
	position: relative;
	z-index: 2;
}
.sab-bar .sab-close:hover { color: var(--sab-hover, #f5c518); }

@keyframes sab-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (max-width: 767px) {
	.sab-bar { font-size: calc(var(--sab-fs, 16px) * 0.85); }
	.sab-bar.sab-hide-mobile { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	.sab-bar .sab-track { animation: none; }
	.sab-bar .sab-viewport { overflow-x: auto; }
}

/* Admin preview box */
.sab-preview { margin: 10px 0 24px; max-width: 100%; }
