/* ============================================================
   AI SpeedForce — site-settings styles, added to pages only when the admin
   turns the matching feature on (build/settings/apply.py links this file):
     .consent   analytics consent banner (assets/js/consent.js)
     .announce  site-wide announcement bar under the header
   Tokens only, so both themes work.
   ============================================================ */

/* The banner floats over the bottom of the viewport: it never pushes page
   content around, so there is no layout shift when it appears. */
.consent {
  position: fixed;
  left: var(--sp-4);
  right: var(--sp-4);
  bottom: calc(var(--sp-4) + env(safe-area-inset-bottom));
  z-index: var(--z-drawer);
  max-width: 44rem;
  margin: 0 auto;
  background: var(--c-surface);
  color: var(--c-chrome);
  border: var(--bd);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-lg);
}
.consent[hidden] { display: none; }
.consent__inner { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); padding: var(--sp-4) var(--sp-5); }
.consent__text { flex: 1 1 18rem; min-width: 0; }
.consent__h { margin: 0 0 var(--sp-1); font-family: var(--font-body); font-size: var(--fs-sm); font-weight: 600; }
.consent__p { margin: 0; font-size: var(--fs-sm); color: var(--c-mauve); }
.consent__p a { color: var(--c-chrome); }
.consent__actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.consent__btn {
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: 600;
  min-height: 44px;
  padding: 0 var(--sp-4);
  border-radius: var(--r-sm);
  border: var(--bd);
  background: var(--c-ink);
  color: var(--c-chrome);
  cursor: pointer;
}
.consent__btn:hover { border-color: var(--c-line-bright); }
.consent__btn--yes { background: var(--grad-bolt-x); color: var(--c-on-accent); border-color: transparent; }

/* announcement bar, directly under the header */
.announce { background: var(--c-accent-quiet); border-bottom: var(--bd-soft); }
.announce__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--sp-1) var(--sp-3); padding-block: var(--sp-2); font-size: var(--fs-sm); text-align: center; }
.announce__text { margin: 0; color: var(--c-chrome); }
.announce__link { color: var(--c-accent); font-weight: 600; }
