/* Edge-to-edge announcement strip, fixed above the fixed site nav (z-index 100)
   so it is never painted over. The banner publishes its height into
   --nari-announcement-h; the nav's `top` and the page content's `padding-top`
   read that variable to make room. Cream on green-dark is ~8.8:1, clears AA.
   The close button sits in-flow (not absolutely positioned) so it can never
   overlap the message when the text wraps on a narrow screen. */
.announcement-banner_banner__mdTlD {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 101;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  background: var(--c-green-dark);
  color: var(--c-cream);
  font-family: var(--font-body);
  font-size: var(--fs-md);
  font-weight: 500;
  line-height: 1.4;
  padding: var(--space-3) var(--page-gutter);
}

.announcement-banner_text__Q1yiZ {
  margin: 0;
  flex: 1 1;
  text-align: center;
}

.announcement-banner_link__Rqlmk {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
  white-space: nowrap;
}

.announcement-banner_close__3otT8 {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--space-6);
  min-height: var(--space-6);
  background: none;
  border: none;
  color: inherit;
  font-size: var(--fs-lg);
  line-height: 1;
  cursor: pointer;
  border-radius: var(--radius-xs);
  opacity: 0.85;
  transition: opacity var(--dur-fast);
}

.announcement-banner_close__3otT8:hover {
  opacity: 1;
}

/* A cream ring reads clearly on the green banner; the design-system green focus
   shadow would be green-on-green here. */
.announcement-banner_close__3otT8:focus-visible {
  outline: none;
  opacity: 1;
  box-shadow: 0 0 0 2px var(--c-cream);
}

/* Match the site's mobile touch-target floor (the banner renders outside the
   .publicMain scope that sets it elsewhere). */
@media (max-width: 768px) {
  .announcement-banner_close__3otT8 {
    min-width: 44px;
    min-height: 44px;
  }
}

