/* Optional Analytics consent banner */
.consent-banner {
  position: fixed;
  z-index: 1100;
  right: 22px;
  bottom: 22px;
  width: min(100% - 44px, 610px);
  border: 1px solid var(--ink);
  background: var(--white);
  box-shadow: 0 20px 64px rgba(17, 19, 21, 0.28);
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.consent-banner.is-visible { opacity: 1; transform: translateY(0); }
.consent-inner { padding: 30px; }
.consent-kicker { margin: 0 0 8px; color: var(--blue); font-size: var(--type-label, 0.75rem); font-weight: 900; letter-spacing: var(--type-label-spacing, 0.08em); text-transform: uppercase; }
.consent-copy h2 { margin: 0 0 13px; color: var(--ink); font-size: clamp(1.65rem, 2.6vw, 2.15rem); line-height: 0.98; }
.consent-copy p { margin: 0; color: var(--muted); font-size: 0.94rem; line-height: 1.52; }
.consent-copy a { color: var(--ink); border-bottom: 1px solid currentColor; font-weight: 800; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 24px; }
.consent-actions button { min-height: 48px; padding: 0 17px; border: 1px solid var(--ink); font-size: var(--type-label, 0.75rem); font-weight: 900; letter-spacing: var(--type-label-spacing, 0.08em); text-transform: uppercase; }
.consent-necessary { background: var(--white); color: var(--ink); }
.consent-necessary:hover { background: var(--paper); }
.consent-accept { background: var(--ink); color: var(--white); }
.consent-accept:hover { background: var(--blue); }
.consent-settings-link { margin: 0; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; font: inherit; font-weight: 800; line-height: inherit; }
.consent-settings-link:hover { color: var(--blue); cursor: pointer; }

@media (max-width: 700px) {
  .consent-banner { right: 12px; bottom: 12px; width: calc(100% - 24px); }
  .consent-inner { padding: 24px 21px; }
  .consent-actions { display: grid; grid-template-columns: 1fr; }
  .consent-actions button { width: 100%; }
}
