.analytics-consent {
  position: fixed; z-index: 1000; inset: auto 1rem 1rem auto;
  width: min(34rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto;
  padding: 1.5rem; border: 1px solid var(--line, #d8cdd5); border-radius: 1rem;
  background: var(--paper, #fcfafb); color: var(--ink, #2c1929);
  box-shadow: 0 .5rem 3rem #30152b30; font: 1rem/1.5 var(--font-sans, sans-serif);
}
.analytics-consent[hidden] { display: none; }
.analytics-consent h2 { margin: 0 0 .75rem; font-size: 1.35rem; line-height: 1.25; }
.analytics-consent p { margin: .75rem 0; }
.analytics-consent__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.analytics-consent button, .analytics-preferences {
  padding: .65rem 1rem; border: 1px solid var(--brand, #78206c); border-radius: .5rem;
  background: var(--paper, #fcfafb); color: var(--brand, #78206c); font: inherit; cursor: pointer;
  min-height: 44px;
}
.analytics-consent button { flex: 1 1 11rem; }
.analytics-consent button:hover, .analytics-preferences:hover { background: var(--brand, #78206c); color: #fff; }
.analytics-consent button:focus-visible, .analytics-preferences:focus-visible { outline: 3px solid var(--brand, #78206c); outline-offset: 3px; }
.analytics-preferences { display: block; margin: 1rem auto; font-size: .875rem; }
.analytics-consent__status:empty { display: none; }
