/* camp-safe-bar.css — Camp Safe seasonal announcement strip.
 *
 * Enqueued (handle gerbs-camp-safe-bar, dep gerbs-tokens) only when
 * gerbs_camp_safe_promo_enabled(). Renders above .gnav via wp_body_open
 * priority 8 (inc/camp-safe-nav.php, markup in inc/camp-safe-bar-markup.php).
 * Non-sticky by design — scrolls away with the page; no conflict with the
 * mobile .gnav-mbar's own position:sticky (it simply takes over top:0 once
 * this bar scrolls past). Same 980/981 breakpoint boundary as header-global.css.
 *
 * @since 1.1.2 (Camp Safe)
 */

.camp-bar {
  background: var(--gerbs-yellow);
  color: var(--gerbs-ink);
  font-family: var(--ff-body);
}
.camp-bar[hidden] { display: none; }

.camp-bar__inner {
  position: relative;
  max-width: var(--container-max);
  margin: 0 auto;
  min-height: 40px;
  padding: 8px 44px 8px var(--container-pad);
  display: flex;
  align-items: center;
  justify-content: center;
}

.camp-bar__link {
  display: block;
  max-width: 100%;
  text-align: center;
  font-size: var(--fs-14);
  font-weight: var(--fw-semibold);
  color: var(--gerbs-ink);
  text-decoration: none;
}
.camp-bar__link:hover,
.camp-bar__link:focus-visible { text-decoration: underline; }

.camp-bar__text--short { display: none; }

.camp-bar__dismiss {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: var(--gerbs-ink);
}
.camp-bar__dismiss:focus-visible {
  outline: var(--focus-ring-width) solid var(--gerbs-ink);
  outline-offset: -2px;
  border-radius: var(--radius-sm);
}

@media (max-width: 980px) {
  .camp-bar__text--full { display: none; }
  .camp-bar__text--short { display: inline; }
}
