/**
 * Shared front-end notice bar styles.
 *
 * Enqueued unconditionally on every front-end page (see
 * stealth_enqueue_teams_css() in content-restriction.php) so
 * notices render identically regardless of which page, view,
 * or AJAX action triggers them.
 *
 * Containers are rendered empty and stay hidden via :empty
 * until JS (or PHP, for server-rendered notices) sets their
 * text content. This avoids toggling display via inline
 * styles, which is unreliable for screen reader announcement.
 *
 * @package StealthTeams
 */

.stealth-message {
	display: block;
	margin-top: 8px;
	padding: 12px 20px;
	text-align: center;
}

.stealth-message:empty {
	display: none;
}

.stealth-message-success {
	background: #e6f4ea;
	color: #1e7e34;
}

.stealth-message-info {
	background: #e7f3fe;
	color: #0c5460;
}

.stealth-message-error {
	background: #fdecea;
	color: #b32d2e;
}

/* ---- Shared top-bar notice: sticky while scrolled ----
 *
 * #stealth-notice-bar is the sole top-of-page notice
 * instance (see content-restriction.php). It sits in normal
 * flow at the top of the page; once scrolled past, it sticks
 * to the viewport top; scrolling back to the top releases it
 * back into flow automatically — no JS required.
 */

#stealth-notice-bar {
	position: sticky;
	top: 0;
	z-index: 9999;
	margin-top: 0;
}