/* World Aviation Festival pill (public/assist/waf-pill.js), WAF D05 S11.
   Same red as the banner: the accent's darker step, where white text is 4.66
   to 1. Bottom left, so it never meets the assistant's button at bottom right;
   above a demo's caption bar while a story plays (--jl-cap, from widget.js).
   Fixed and hidden until the banner has scrolled away: it never moves the page. */
.jl-waf-pill {
  position: fixed;
  left: 20px;
  bottom: calc(20px + var(--jl-cap, 0px));
  z-index: 8999;
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--accent-hover, #c44e3b);
  color: #ffffff;
  font-family: var(--font-inter, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 22px rgba(26, 35, 50, 0.22);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s, bottom 0.3s ease;
}
.jl-waf-pill[data-show="true"] {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s, bottom 0.3s ease;
}
.jl-waf-pill:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.jl-waf-pill:focus-visible {
  outline: 2px solid #1f1f1f;
  outline-offset: 2px;
}
.jl-waf-pill .jl-waf-short {
  display: none;
}
@media (max-width: 520px) {
  .jl-waf-pill {
    left: 12px;
    bottom: calc(12px + var(--jl-cap, 0px));
    height: 36px;
    padding: 0 14px;
    font-size: 13px;
  }
  .jl-waf-pill .jl-waf-long {
    display: none;
  }
  .jl-waf-pill .jl-waf-short {
    display: inline;
  }
}
@media (prefers-reduced-motion: reduce) {
  .jl-waf-pill,
  .jl-waf-pill[data-show="true"] {
    transition: none;
    transform: none;
  }
}
@media print {
  .jl-waf-pill {
    display: none;
  }
}
/* WAF D07: on a demo page the pill keeps off the demo. It fades out while any
   part of the demo's window is on screen (body[data-demo-view], set by
   components/WafDemoBand.tsx), while a side sheet is open in it
   (body[data-demo-sheet]) and in the theatre (body.theatre, set while a story
   plays), and fades back once the visitor has scrolled away from the demo. */
body.theatre .jl-waf-pill[data-show],
body[data-demo-view] .jl-waf-pill[data-show],
body[data-demo-sheet] .jl-waf-pill[data-show] {
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s, bottom 0.3s ease;
}
