/* ============================================================================
   Arceus Neo — cookie.css
   Bottom-fixed cookie-consent bar (.axn-cookiebar). Uses this theme's own token
   vocabulary (--bg-card / --neon / --border / --sticky-h) and the .btn-neo button.
   It sits ABOVE the mobile .sticky-cta download bar (this site's signature bottom
   element) by offsetting its bottom edge by --sticky-h on phones; on desktop the
   sticky bar is gone so the bar drops to bottom:0. Server-rendered visible; the
   vanilla-JS in cookie.js adds .axn-hidden for visitors who already accepted.
   ========================================================================== */
.axn-cookiebar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
  background: var(--bg-card);
  background: color-mix(in srgb, var(--bg-card) 96%, transparent);
  backdrop-filter: blur(8px);
  border-top: 1px solid var(--border);
  box-shadow: 0 -6px 24px rgba(0,0,0,.32);
}
.axn-cookiebar__inner {
  width: 100%; max-width: var(--span); margin: 0 auto;
  display: flex; flex-direction: column; gap: 12px;
  padding: 14px 16px;
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
}
.axn-cookiebar__note { margin: 0; color: var(--text-muted); font-size: 14px; line-height: 1.55; }
.axn-cookiebar__note b { color: var(--text-primary); font-weight: 600; }
.axn-cookiebar__link { color: var(--neon); text-decoration: underline; font-weight: 600; }
.axn-cookiebar__link:hover { color: var(--neon-hi); }
.axn-cookiebar__spark { color: var(--neon); }
.axn-cookiebar__actions { display: flex; }
.axn-cookiebar__accept { width: 100%; }

/* On phones the .sticky-cta occupies the very bottom on non-gate pages, so lift the
   cookie bar above it. Gate pages carry .is-portal (no sticky bar) → stays at 0. */
body:not(.is-portal) .axn-cookiebar { bottom: var(--sticky-h); }

@media (min-width: 561px) {
  .axn-cookiebar__inner { flex-direction: row; align-items: center; gap: 20px; }
  .axn-cookiebar__note { flex: 1 1 auto; }
  .axn-cookiebar__actions { flex: none; }
  .axn-cookiebar__accept { width: auto; min-width: 160px; }
}

/* Desktop: the mobile sticky-CTA is hidden, so the bar can sit flush at the bottom. */
@media (min-width: 768px) {
  body:not(.is-portal) .axn-cookiebar { bottom: 0; }
}
