/* Urgent alerts: the bars at the top of every public page (include/SiteAlerts.php).
   Own colours (the public theme and the panel do not share tokens); every pair of ink and
   background here measures at least 4.5:1. */
.site-alerts { position: relative; z-index: 1100; font-family: inherit; }
.site-alert { --sa-bg: #fff4d6; --sa-ink: #5c3d00; --sa-line: #f2c14e; --sa-icon: #b77900;
	background: var(--sa-bg); color: var(--sa-ink); border-bottom: 1px solid var(--sa-line);
	transition: opacity .18s ease, transform .18s ease; }
.site-alert.is-danger  { --sa-bg: #b4232f; --sa-ink: #fff; --sa-line: #8f1a24; --sa-icon: #fff; }
.site-alert.is-info    { --sa-bg: #e3f1fb; --sa-ink: #0b3a5c; --sa-line: #9cc9ea; --sa-icon: #1268a8; }
.site-alert.is-success { --sa-bg: #e2f5ea; --sa-ink: #0c4a2a; --sa-line: #94d3ae; --sa-icon: #138a4c; }
.site-alert.is-closing { opacity: 0; transform: translateY(-6px); }
.site-alert-inner { max-width: 1320px; margin: 0 auto; padding: 10px 20px; display: flex; align-items: center; gap: 12px; }
.site-alert-icon { flex: none; display: inline-flex; color: var(--sa-icon); }
.site-alert-text { flex: 1 1 auto; min-width: 0; margin: 0; font-size: 14.5px; line-height: 1.7; }
.site-alert-text strong { font-weight: 800; }
.site-alert-link { flex: none; display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border-radius: 8px;
	background: var(--sa-ink); color: var(--sa-bg) !important; font-size: 13.5px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.site-alert-link:hover, .site-alert-link:focus-visible { opacity: .9; text-decoration: underline; }
.site-alert-close { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px;
	border: 0; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; }
.site-alert-close:hover, .site-alert-close:focus-visible { background: rgba(0, 0, 0, .08); }
.site-alert a:focus-visible, .site-alert button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (max-width: 767px) {
	.site-alert-inner { flex-wrap: wrap; padding: 10px 14px; gap: 8px 10px; }
	.site-alert-text { flex-basis: calc(100% - 80px); font-size: 13.5px; }
	.site-alert-link { order: 3; }
}
@media (prefers-reduced-motion: reduce) { .site-alert { transition: none; } }
