.bia-events-banner {
  /* BIA of Lancaster design-system tokens (project/tokens.css): logo blue / paper / harvest-500 / brick */
  --bia-banner-bg: #112961;
  --bia-banner-fg: #faf7f1;
  --bia-banner-accent: #d3a54a;
  --bia-banner-sep: #b85543;
  --bia-banner-label-bg: #9e3a2e;
  --bia-banner-label-fg: #faf7f1;
  --bia-banner-font-label: "Oswald", "Source Sans 3", -apple-system, sans-serif;
  --bia-banner-font-body: "Source Sans 3", -apple-system, "Segoe UI", sans-serif;
  --bia-banner-speed: 70s;

  position: relative;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background: var(--bia-banner-bg);
  color: var(--bia-banner-fg);
  font-family: var(--bia-banner-font-body);
  white-space: nowrap;
  width: 100%;
  box-sizing: border-box;
}

.bia-events-banner__label {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.85em 1.25em;
  background: var(--bia-banner-label-bg);
  color: var(--bia-banner-label-fg);
  font-family: var(--bia-banner-font-label);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bia-events-banner__viewport {
  position: relative;
  overflow: hidden;
  flex: 1 1 auto;
  padding: 0.85em 0;
}

.bia-events-banner__track {
  display: inline-flex;
  align-items: center;
  will-change: transform;
  animation: bia-events-banner-scroll var(--bia-banner-speed) linear infinite;
}

.bia-events-banner:hover .bia-events-banner__track,
.bia-events-banner:focus-within .bia-events-banner__track {
  animation-play-state: paused;
}

.bia-events-banner__item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.6em;
  padding: 0 1.75em;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
}

.bia-events-banner__item a {
  color: inherit;
  text-decoration: none;
}

.bia-events-banner__item a:hover,
.bia-events-banner__item a:focus-visible {
  text-decoration: underline;
}

.bia-events-banner__date {
  color: var(--bia-banner-accent);
  font-family: var(--bia-banner-font-label);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bia-events-banner__title {
  font-weight: 600;
}

.bia-events-banner__venue {
  opacity: 0.75;
  font-size: 0.9em;
}

.bia-events-banner__sep {
  margin: 0 1.75em;
  color: var(--bia-banner-sep);
}

.bia-events-banner__empty {
  padding: 0 1.75em;
  opacity: 0.7;
}

@keyframes bia-events-banner-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bia-events-banner__track {
    animation: none;
  }
  .bia-events-banner {
    overflow-x: auto;
  }
}
