/* ---------- Base ---------- */
.abw {
	--abw-gap: 48px;
	position: relative;
	width: 100%;
	background: #111827;
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
}
.abw *, .abw *::before, .abw *::after { box-sizing: border-box; }

.abw__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 40px;
	padding: 8px 16px;
}
.abw--boxed .abw__inner { max-width: 1200px; margin-inline: auto; }

.abw__viewport { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.abw__track { display: grid; }

.abw__item {
	grid-area: 1 / 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease, transform .4s ease, visibility .4s;
}
.abw__item.is-active { opacity: 1; visibility: visible; }
.abw--tr-slide .abw__item { transform: translateY(60%); }
.abw--tr-slide .abw__item.is-active { transform: none; }

.abw__icon { display: inline-flex; align-items: center; flex: 0 0 auto; line-height: 1; }
.abw__icon svg { width: 1em; height: 1em; fill: currentColor; }
.abw__text { text-align: inherit; }
.abw__text a { color: inherit; text-decoration: underline; }

.abw .abw__btn {
	display: inline-flex;
	align-items: center;
	padding: 3px 12px;
	border: 1px solid currentColor;
	border-radius: 4px;
	background: transparent;
	color: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .2s, color .2s, border-color .2s;
}
.abw a.abw__btn:hover { background: #fff; color: #111827; border-color: #fff; }

/* ---------- Close + arrows ---------- */
.abw .abw__close,
.abw .abw__arrow {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	box-shadow: none;
	cursor: pointer;
	opacity: .85;
	transition: opacity .2s, background-color .2s, color .2s;
}
.abw .abw__close:hover,
.abw .abw__arrow:hover { opacity: 1; background: rgba(255, 255, 255, .15); }
[dir="rtl"] .abw__arrow svg { transform: scaleX(-1); }

/* ---------- Marquee ---------- */
.abw--marquee .abw__track {
	display: flex;
	width: max-content;
	direction: ltr;
	animation: abw-marquee var(--abw-dur, 20s) linear infinite;
}
.abw--marquee.abw--dir-right .abw__track { animation-direction: reverse; }
.abw--marquee.abw--pause:hover .abw__track { animation-play-state: paused; }
.abw--marquee .abw__group {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: var(--abw-gap);
	padding-inline-end: var(--abw-gap);
}
.abw--marquee .abw__item {
	grid-area: auto;
	flex-wrap: nowrap;
	opacity: 1;
	visibility: visible;
	white-space: nowrap;
	transform: none;
}
[dir="rtl"] .abw--marquee .abw__item { direction: rtl; }
@keyframes abw-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* ---------- Countdown ---------- */
.abw__countdown { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.abw__cd-unit {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 40px;
	padding: 2px 6px;
	border-radius: 4px;
	background: rgba(255, 255, 255, .12);
	line-height: 1.1;
}
.abw__cd-num { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.abw__cd-label { font-size: 10px; text-transform: uppercase; opacity: .85; }

/* ---------- Position ---------- */
.abw--pos-fixed_top,
.abw--pos-fixed_bottom { position: fixed; left: 0; right: 0; width: auto; z-index: 99999; }
.abw--pos-fixed_top { top: 0; }
.abw--pos-fixed_bottom { bottom: 0; }
body.admin-bar .abw--pos-fixed_top { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .abw--pos-fixed_top { top: 46px; }
}
.abw-spacer { width: 100%; height: 0; }

/* ---------- States / motion ---------- */
.abw.is-dismissed,
.abw.is-hidden { display: none !important; }

.abw--enter { animation: abw-down .5s ease both; }
@keyframes abw-down {
	from { transform: translateY(-100%); opacity: 0; }
	to   { transform: none; opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.abw__item { transition: none; }
	.abw--enter { animation: none; }
	.abw--marquee .abw__track { animation: none; }
}
