.announcement-bar {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
}

.announcement-bar:hover .announcement-track,
.announcement-bar:focus-within .announcement-track,
.announcement-bar.state--paused .announcement-track {
  animation-play-state: paused;
}

.announcement-pause {
  position: absolute;
  top: 50%;
  right: var(--s0);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: inherit;
  background-color: var(--announcement-background, var(--color-4));
  transform: translateY(-50%);
}

.announcement-pause svg {
  display: block;
  width: 12px;
  height: 12px;
}

.announcement-play-icon,
.state--paused .announcement-pause-icon {
  display: none;
}

.state--paused .announcement-play-icon {
  display: block;
}

.announcement-track {
  --gap: var(--gap-desktop, 0px);
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--gap);
  width: max-content;
}

.state--ready .announcement-track {
  animation: announcement-scroll var(--duration, 20s) linear infinite;
}

.announcement-message {
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: var(--t-1);
  letter-spacing: -0.02em;
}

.announcement-message p {
  margin: 0;
}

@keyframes announcement-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-1 * var(--shift, 0px)));
  }
}

@media (max-width: 767px) {
  .announcement-track {
    --gap: var(--gap-mobile, var(--gap-desktop, 0px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .state--ready .announcement-track {
    animation: none;
  }

  .announcement-pause {
    display: none;
  }
}
