.pgb-nt{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.03);
  color:#111;
  font: 14px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  margin: 0 0 12px 0;
  --pgb-nt-urgent: #b00020;
  --pgb-nt-top: 0px;
  --pgb-nt-fade: 500ms;
}

.pgb-nt--hidden{ display:none !important; }

.pgb-nt__brand{
  font-weight:700;
  white-space:nowrap;
  opacity:.85;
}

/* Viewport */
.pgb-nt__msg{
  flex:1;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  position:relative;
}

/* Seamless marquee track */
.pgb-nt__marquee{
  display:flex;
  align-items:center;
  gap: var(--pgb-nt-gap, 48px);
  width:max-content;
  will-change: transform;
  --pgb-nt-duration: 18s;
  transform: translateX(0);
}

.pgb-nt__lane{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}

.pgb-nt__marquee--run{
  animation: pgbNtMarquee var(--pgb-nt-duration) linear infinite;
}

/* Pause */
.pgb-nt--paused .pgb-nt__marquee{
  animation-play-state: paused !important;
}

@keyframes pgbNtMarquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(-1 * (100% + var(--pgb-nt-gap, 48px)))); }
}

.pgb-nt__btn{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:8px;
  padding:4px 8px;
  cursor:pointer;
  font-size:12px;
}

.pgb-nt__btn:active{ transform: translateY(1px); }

.pgb-nt__link,
.pgb-nt__item{
  text-decoration:none;
  color:inherit;
}

.pgb-nt__item--urgent{
  color: var(--pgb-nt-urgent);
  font-weight: 800;
}

/* Fade-in */
.pgb-nt--fade{
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity var(--pgb-nt-fade) ease, transform var(--pgb-nt-fade) ease;
}
.pgb-nt--fade.pgb-nt--fade-in{
  opacity: 1;
  transform: translateY(0);
}

/* Sticky announcement bar */
.pgb-nt--sticky{
  border-radius: 0;
  margin: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}
.pgb-nt--sticky[data-sticky-mode="sticky"]{
  position: sticky;
  top: var(--pgb-nt-top);
}
.pgb-nt--sticky[data-sticky-mode="fixed"]{
  position: fixed;
  top: var(--pgb-nt-top);
}