/* ── Alert bar ───────────────────────────────────────────────────────────────── */

.gbr-alert-bar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1002;
	background: #c8102e;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 9px 52px;
	font-family: var(--client-font-display, sans-serif);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.3;
	box-sizing: border-box;
	transition: transform 0.25s ease;
}

.admin-bar .gbr-alert-bar {
	top: 32px;
}

.gbr-alert-bar.is-hidden {
	transform: translateY(-100%);
}

.admin-bar .gbr-alert-bar.is-hidden {
	transform: translateY(calc(-100% - 32px));
}

@media (max-width: 782px) {
	.admin-bar .gbr-alert-bar {
		top: 46px;
	}
	.admin-bar .gbr-alert-bar.is-hidden {
		transform: translateY(calc(-100% - 46px));
	}
	.gbr-alert-bar {
		padding: 8px 44px 8px 12px;
		font-size: 0.875rem;
	}
}

.gbr-alert-bar__cta {
	color: #fff;
	text-decoration: underline;
	white-space: nowrap;
	font-size: inherit;
	font-weight: inherit;
}

.gbr-alert-bar__cta:hover {
	color: #fff !important;
	opacity: 0.8;
}

.gbr-alert-bar__dismiss {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	font-size: 1.4rem;
	line-height: 1;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.7;
	transition: opacity 0.15s;
}

.gbr-alert-bar__dismiss:hover {
	opacity: 1;
}

/* ── Utility bar ─────────────────────────────────────────────────────────────── */

.gbr-utility-bar {
	position: fixed;
	top: var(--gbr-alert-height, 0px);
	left: 0;
	width: 100%;
	z-index: 1001;
	transition: transform 0.25s ease;
}

.admin-bar .gbr-utility-bar {
	top: calc(32px + var(--gbr-alert-height, 0px));
}

/* When hiding, translate far enough to clear both the alert bar and the admin bar. */
.gbr-utility-bar.is-hidden {
	transform: translateY(calc(-100% - var(--gbr-alert-height, 0px)));
}

@media screen and (max-width: 782px) {
	.admin-bar .gbr-utility-bar {
		top: calc(46px + var(--gbr-alert-height, 0px));
	}
	.admin-bar .gbr-utility-bar.is-hidden {
		transform: translateY(calc(-100% - var(--gbr-alert-height, 0px) - 46px));
	}
}

/* Force teal bg + left-aligned nav regardless of Editor settings */
.gbr-utility-bar {
	background-color: var(--client-accent-hover) !important;
}

.gbr-utility-bar .wp-block-navigation,
.gbr-utility-bar .wp-block-navigation.is-layout-flex {
	justify-content: flex-start !important;
}

.gbr-utility-bar .wp-block-navigation a {
	color: #ffffff;
	text-decoration: none;
	padding: 0 0.75rem;
}

.gbr-utility-bar .has-small-font-size,
.gbr-utility-bar .has-small-font-size * {
	font-size: 0.65rem !important;
	font-weight: 700 !important;
}

.site-header .gbr-utility-bar .wp-block-navigation a:hover,
.site-header .gbr-utility-bar .wp-block-navigation-item__content:hover {
	color: #132436 !important;
}
