/* The analytics banner (only on builds with SITE_GA_ID). Quiet, white, at the bottom; the page reserves its height so it never covers content. */
.consent[hidden] { display: none; }
.consent {
  position: fixed; z-index: 60; left: 0; right: 0; bottom: 0;
  padding: 0 var(--gutter) max(12px, env(safe-area-inset-bottom));
  pointer-events: none;
}
.consent-in {
  pointer-events: auto; width: min(760px, 100%); margin-inline: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap;
  background: #fff; border: 1px solid var(--line-2); border-radius: 18px; box-shadow: var(--shadow-soft);
  padding: 14px 16px 14px 20px;
}
.consent p { margin: 0; flex: 1 1 280px; font-size: 14px; line-height: 1.5; color: var(--ink-2); }
.consent p a { color: var(--ink); text-underline-offset: 3px; display: inline-block; min-height: 24px; }
.consent-btns { display: flex; gap: 8px; }
.consent .btn { height: 44px; min-width: 88px; padding: 0 18px; font-size: 14px; cursor: pointer; }
.consent .btn-line { background: #fff; color: var(--ink); border-color: var(--line-2); }
.consent .btn-line:hover { background: var(--field); }
html.has-consent body { padding-bottom: var(--consent-h, 0px); }
.linkbtn {
  appearance: none; background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; cursor: pointer;
  text-decoration: underline; text-underline-offset: 3px; min-height: 44px; display: inline-flex; align-items: center;
}
.linkbtn:hover { color: var(--ink); }
@media (max-width: 560px) {
  .consent-in { padding: 14px 14px 14px 16px; }
  .consent-btns { width: 100%; }
  .consent .btn { flex: 1 1 0; }
}
