/* A non-modal panel; the spacer keeps the footer reachable behind it. */
.analytics-banner {
  position: fixed;
  z-index: 30;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  width: min(550px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: 22px 24px;
  border: 1px solid var(--line, #d7dbd9);
  border-radius: 4px;
  background: var(--paper, #faf9f6);
  color: var(--text, #414a50);
  box-shadow: 0 5px 28px #22394b1a;
  font: 14px/1.6 var(--sans, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif);
  overflow-wrap: anywhere;
}
.analytics-banner[hidden], .analytics-settings[hidden] { display: none; }
.analytics-banner h2 { margin: 0 0 10px; color: var(--ink, #22394b); font: 600 19px/1.4 var(--sans, Arial, sans-serif); letter-spacing: 0; }
.analytics-banner p { margin: 0 0 10px; }
.analytics-banner a { color: var(--ink, #22394b); text-decoration: underline; text-underline-offset: 3px; }
.analytics-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.analytics-choice {
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--ink, #22394b);
  border-radius: 2px;
  background: transparent;
  color: var(--ink, #22394b);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.analytics-choice:hover { background: var(--wash, #eff1ee); }
.analytics-settings { min-height: 32px; padding: 4px 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 5px; cursor: pointer; }
.analytics-settings:hover { color: var(--accent, #956745); }
.analytics-choice:focus-visible, .analytics-settings:focus-visible, .analytics-banner a:focus-visible { outline: 2px solid var(--ink, #22394b); outline-offset: 3px; }
.footer-inner nav { flex-wrap: wrap; }
.analytics-error { font-weight: 600; }
@media (max-width: 540px) {
  .analytics-banner { padding: 18px; }
  .analytics-actions { gap: 10px; }
}
@media print { .analytics-banner, .analytics-settings, [data-consent-space] { display: none !important; } }
