/* ── Consent banner ───────────────────────────────────────────
   Deliberately plain and small. Accept and Decline are the same
   size and weight: a Decline that is harder to find than Accept
   is not consent, and the ICO says so. Colours come from the
   brand tokens, so another portal inherits its own. */
.pe-consent {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.2rem; flex-wrap: wrap;
  padding: 0.9rem 1.2rem;
  padding-bottom: calc(0.9rem + env(safe-area-inset-bottom, 0px));
  background: var(--navy, #0a1628);
  border-top: 1px solid rgba(255,255,255,0.12);
  transform: translateY(110%); transition: transform 0.3s cubic-bezier(.32,.72,0,1);
}
.pe-consent.is-open { transform: translateY(0); }
.pe-consent p {
  margin: 0; flex: 1 1 260px;
  font-family: 'Inter', -apple-system, sans-serif; font-size: 0.74rem; line-height: 1.6;
  color: rgba(255,255,255,0.72);
}
.pe-consent p a { color: var(--gold, #c9a96e); }
.pe-consent-actions { display: flex; gap: 0.5rem; flex: 0 0 auto; }
.pe-consent button {
  min-height: 40px; padding: 0.5rem 1.3rem; cursor: pointer;
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase;
  background: none; color: rgba(255,255,255,0.85);
  border: 1px solid rgba(255,255,255,0.3); border-radius: 3px;
}
.pe-consent button.is-primary {
  background: var(--gold, #c9a96e); color: var(--navy, #0a1628);
  border-color: var(--gold, #c9a96e);
}
/* The tab bar owns the bottom of the screen in the app shell. */
html.pe-app .pe-consent {
  bottom: calc(var(--pe-tabbar-h, 58px) + var(--pe-safe-b, 0px));
  padding-bottom: 0.9rem;
}
@media (max-width: 560px) {
  /* Stacked, but the paragraph must stop growing: `flex: 1 1 260px`
     in a column makes it absorb the free space and pushes the
     buttons to the bottom of a 341px-tall banner. */
  .pe-consent { flex-direction: column; align-items: stretch; gap: 0.7rem;
                justify-content: flex-start; padding: 0.9rem 1rem; }
  .pe-consent p { flex: 0 1 auto; font-size: 0.72rem; }
  .pe-consent-actions button { flex: 1; }
}
