.analytics-preferences { padding-block: 0 20px; font-size: .8rem; }
.analytics-consent button.text-link {
  border: 0; background: transparent; color: var(--muted); font: inherit;
  padding: 8px 0; min-height: 44px; text-align: start; cursor: pointer;
  text-decoration: underline; text-underline-offset: 3px;
}
.analytics-banner {
  position: fixed; inset-inline-end: 24px; bottom: 24px; z-index: 90;
  width: min(480px, calc(100vw - 48px)); max-height: calc(100dvh - 48px);
  overflow-y: auto; padding: 24px; border: 1px solid var(--line);
  border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-card);
}
.analytics-banner h2 { font-size: 1.1rem; margin: 0 0 10px; letter-spacing: -.02em; }
.analytics-banner p { font-size: .85rem; line-height: 1.65; color: var(--muted); margin: 0 0 16px; }
.analytics-banner p a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.analytics-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.analytics-actions .button { flex: 1; padding: 12px 16px; min-height: 44px; }
.analytics-actions [data-analytics-close] { flex-basis: 100%; font-size: .8rem; }
.analytics-consent [hidden] { display: none !important; }
@media (max-width: 520px) {
  .analytics-banner { inset-inline: 12px; bottom: 12px; width: auto; padding: 20px; max-height: calc(100dvh - 24px); }
}
