/* ---------------------------------------------------------------------------
   Cookie consent bar — ONE copy, loaded by every page that loads pm-consent.js.

   Why it is its own file: these rules used to live in app.css only, but
   page.php (all six legal slugs) loads legal.css instead — so the six pages a
   cookie banner matters MOST on rendered it completely unstyled: a raw div at
   the bottom of the document with default buttons. The owner found it.

   Duplicating the rules into legal.css was the obvious fix and the wrong one;
   two copies of anything in this codebase have drifted every time. So the bar
   moved here, and every page that loads the script loads this too. The list is
   mechanically checkable — `grep -l pm-consent.js` and `grep -l consent.css`
   must return the same files — and tools/preflight.ps1 now asserts exactly
   that, so a new page cannot quietly ship a broken banner.

   Deliberately self-contained: it must render correctly beside legal.css, which
   defines a different, smaller token set. Every value is either literal or has
   a literal fallback, so nothing here depends on app.css being present.
   --------------------------------------------------------------------------- */

/* Non-blocking bottom bar: a choice is required before any optional storage
   runs, but the page stays fully usable behind it. */
.pm-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1300;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 22px;
  /* The safe-area inset keeps the buttons clear of the iPhone home indicator. */
  padding: 14px 18px calc(14px + env(safe-area-inset-bottom));
  background: var(--ink, #11130f);
  color: #e9e6de;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, .25);
}
.pm-consent-copy { margin: 0; max-width: 640px; font-size: 13px; line-height: 1.55; }
.pm-consent-copy a { color: #cfe3c2; }
.pm-consent-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.pm-consent-btn {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
}
.pm-consent-btn:hover { border-color: rgba(255, 255, 255, .6); }
.pm-consent-btn.primary { background: #fff; border-color: #fff; color: var(--ink, #11130f); }
.pm-consent-btn.primary:hover { background: #f0ece4; }

/* Bare reset only: the footer button inherits whichever footer link look
   surrounds it, so app.css and legal.css each style it in place. */
.pm-consent-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
