/* Main base styles */
:root {
  --bb-font-sans: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

html, body { height: 100%; }
body { font-family: var(--bb-font-sans); }

.hero {
  background: linear-gradient(135deg, rgba(0,0,0,.5), rgba(0,0,0,.7));
  color: #fff;
  padding: 4rem 0;
}

.status-badge { font-weight: 600; }

.card-news .card-title, .card-event .card-title { font-weight: 700; }

.visually-hidden-focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* Focus styles */
a:focus, button:focus, .btn:focus { outline: 3px solid rgba(0, 123, 255, .6) !important; outline-offset: 2px; }

/* Improve contrast for status box in hero (dark background) */
.hero #server-status { color: #f1f3f5; }
.hero #server-status .small { color: rgba(255,255,255,.78); }
.hero #server-status .status-updated { color: rgba(255,255,255,.78) !important; }
.hero #server-status a { color: #e0e7ff; }


