/* Countdown-Aktionsleiste unter dem fixierten Header (#container1).
   Farben hier zentral anpassen, z. B. für andere Aktionen als Halloween. */
.b_promo_bar {
	--b_promo_bar_bg: #1e1b22;
	--b_promo_bar_color: #fffff2;
	--b_promo_bar_accent: var(--bs-primary);

	position: relative;
	background: var(--b_promo_bar_bg);
	color: var(--b_promo_bar_color);
	font-size: 16px;
	line-height: 1.3;
}

.b_promo_bar[hidden] {
	display: none;
}

.b_promo_bar_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.4rem 1rem;
	padding: 0.55rem 2.5rem;
}

.b_promo_bar_part {
	flex: 1;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.4em;
	white-space: nowrap;
}

.b_promo_bar_text {
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.b_promo_bar_label {
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.85;
}

.b_promo_bar_value,
.b_promo_bar_code {
	font-size: 1.125em;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.b_promo_bar_timer {
	font-variant-numeric: tabular-nums;
}

.b_promo_bar_code {
	padding: 0 0 1px;
	background: none;
	border: none;
	border-bottom: 1px dashed currentColor;
	color: var(--b_promo_bar_accent);
	letter-spacing: 0.08em;
	cursor: pointer;
}

.b_promo_bar_code:hover,
.b_promo_bar_code:focus-visible {
	border-bottom-style: solid;
}

.b_promo_bar_copied {
	display: none;
	font-size: 0.75em;
	font-weight: 600;
}

.b_promo_bar_copied.b_promo_bar_copied_show {
	display: inline;
}

.b_promo_bar_close {
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
	padding: 0 0.35rem;
	background: none;
	border: none;
	color: inherit;
	font-size: 1.5rem;
	line-height: 1;
	opacity: 0.7;
	cursor: pointer;
}

.b_promo_bar_close:hover,
.b_promo_bar_close:focus-visible {
	opacity: 1;
}

/* geschlossen: Leiste weg, nur der kleine Reiter hängt rechts unter dem Header */
.b_promo_bar_tab {
	display: none;
	position: absolute;
	top: 0;
	right: 1.5rem;
	padding: 0.2rem 0.8rem 0.3rem;
	background: var(--b_promo_bar_bg);
	color: var(--b_promo_bar_accent);
	border: none;
	border-radius: 0 0 6px 6px;
	box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.25);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: padding-top 0.15s ease;
}

.b_promo_bar_tab:hover,
.b_promo_bar_tab:focus-visible {
	padding-top: 0.45rem;
}

.b_promo_bar_tab_arrow {
	color: var(--b_promo_bar_color);
}

.b_promo_bar.b_promo_bar_closed .b_promo_bar_inner,
.b_promo_bar.b_promo_bar_closed .b_promo_bar_close {
	display: none;
}

.b_promo_bar.b_promo_bar_closed .b_promo_bar_tab {
	display: block;
}

/* Inhalt unter dem fixierten Header um die Höhe der Leiste nach unten schieben
   (--b_promo_bar_h wird von b_promo_banner.js gesetzt) */
body #container2 {
	margin-top: calc(155px + var(--b_promo_bar_h, 0px));
}

/* schmalere Bildschirme: Aktionstext in der ersten Zeile, Code und Countdown darunter */
@media (max-width: 991.98px) {
	.b_promo_bar_inner {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.25rem 1.5rem;
		padding: 0.4rem 2rem;
	}

	.b_promo_bar_part {
		flex: 0 1 auto;
	}

	.b_promo_bar_text {
		flex-basis: 100%;
		white-space: normal;
		text-align: center;
	}
}

@media (max-width: 575.98px) {
	.b_promo_bar {
		font-size: 12px;
	}

	.b_promo_bar_inner {
		gap: 0.2rem 0.9rem;
		padding: 0.35rem 1.75rem;
	}

	.b_promo_bar_label,
	.b_promo_bar_code,
	.b_promo_bar_value {
		letter-spacing: 0.02em;
	}

	.b_promo_bar_tab {
		right: 0.75rem;
	}
}
